#ABC282E. 选两个吃一个

选两个吃一个

选两个吃一个

题目描述

一个盒子中有 NN 个球,每个球上写着一个介于 11M1M-1 之间的整数。 对 i=1,2,,Ni = 1, 2, \ldots, N,第 ii 个球上写着的整数是 AiA_i

当盒子中还有两个或更多个球时,高桥君会重复以下操作。

  • 首先,任意选择两个球。
  • 然后,设这两个球上写着的整数分别为 xxyy,获得 xy+yxx^y + y^x 除以 MM 的余数作为分数。
  • 最后,任意选择其中一个球吃掉,把另一个球放回盒子。

求高桥君能获得的总分数的最大值。

输入格式

输入按以下格式从标准输入给出。

NN MM
A1A_1 A2A_2 \ldots ANA_N

输出格式

输出答案。

样例

4 10
4 2 3 2
20

考虑如下的操作过程。下面,XmodYX \bmod Y 表示非负整数 XX 除以正整数 YY 所得的余数。

先从盒子中取出第 1 个和第 3 个球,获得 (43+34)mod10=5(4^3 + 3^4) \bmod 10 = 5 分。然后吃掉第 1 个球,把第 3 个球放回。此时盒子中有第 2、第 3、第 4 个球。

再取出第 3 个和第 4 个球,获得 (32+23)mod10=7(3^2 + 2^3) \bmod 10 = 7 分。然后吃掉第 3 个球,把第 4 个球放回。此时盒子中有第 2 和第 4 个球。

再取出第 2 个和第 4 个球,获得 (22+22)mod10=8(2^2 + 2^2) \bmod 10 = 8 分。然后吃掉第 2 个球,把第 4 个球放回。此时盒子中只剩下第 4 个球。

此时高桥君共获得 5+7+8=205 + 7 + 8 = 20 分,这是最大值。

20 100
29 31 68 20 83 66 23 84 69 96 41 61 83 37 52 71 18 55 40 8
1733

数据范围

  • 2N5002 \le N \le 500
  • 2M1092 \le M \le 10^9
  • 1AiM11 \le A_i \le M-1
  • 输入中的所有值都是整数。
难度 提高
通过率
尝试 0
已通过 0
ID
2572
类型
传统题
Time Limit
3000ms
Memory Limit
1024MiB
上传者
标签