CF888E.Maximum Subsequence

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个包含 nn 个整数的数组 aa,以及一个整数 mm。你需要选择一些下标组成序列 b1,b2,,bkb_1, b_2, \dots, b_k1b1<b2<<bkn1 \le b_1 < b_2 < \dots < b_k \le n),使得以下值最大化:

(i=1kabi)modm\left( \sum_{i=1}^{k} a_{b_i} \right) \bmod m

可以选择空序列(此时和为 00)。

输出这个最大可能值。

输入格式

第一行包含两个整数 nnmm1n351 \le n \le 351m1091 \le m \le 10^9)。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1091 \le a_i \le 10^9)。

输出格式

输出一个整数,表示最大可能值。

输入输出样例

  • 输入#1

    4 4
    5 2 4 1
    

    输出#1

    3
    
  • 输入#2

    3 20
    199 41 299
    

    输出#2

    19
    

说明/提示

样例解释

样例 1: 选择下标 b={1,2}b = \{1, 2\},和为 5+2=75 + 2 = 77mod4=37 \bmod 4 = 3

样例 2: 选择下标 b={3}b = \{3\},和为 299299299mod20=19299 \bmod 20 = 19


数据范围

对于 100%100\% 的数据,1n351 \le n \le 351m1091 \le m \le 10^91ai1091 \le a_i \le 10^9

首页