题目描述
慈溪小学编程复赛要结束了。
小A 和小B 决定提前想好考试结束以后的娱乐活动。他们决定玩一个卡牌游戏。
小A 手上有N 张牌,每张牌上有一个非负整数ai。开始的时候,小A 可以随机从他拥有的牌里面选一张牌放到桌子上。假设当前桌子上的最后放置的一张牌上面的整数是X , 此时如果小A 手上还有的卡牌的数除以M 得到的余数是(X (mod M))或者((X + 1) (mod M)),那么小A 可以从这些满足条件的牌里面任选一张继续放到桌子上。这样的操作小A 可以进行任意多次,直到无法继续为止。
小A 想来考考小B,他想要小B 算出在这样的操作模式下,小A 手上最后留下的卡片的总和最小是多少?
输入
第一行输入2 个正整数N 和M,表示卡牌的数量和要除以的数。
接下来第2 行有N 个非负整数,表示每个卡牌上写的数。
输出
输出表示经过上述操作以后,小A 手上留下的卡牌数的最小总和。
样例输入输出
输入#1
复制
9 7
3 0 2 5 5 3 0 6 3
输入#3
复制
20 20
18 16 15 9 8 8 17 1 3 17 11 9 12 11 7
3 2 14 3 12
提示
【样例解释】
样例1 中,首先我们把第4 张牌(5)放到桌子上,然后把第5 张牌(5)放到桌子上,然后把第8 张牌(6)放到桌子上,然后把第2 张牌(0)放到桌子上,然后把第7 张牌(0)放到桌子上。此时小A 手上还剩下的牌的总和是3 + 2 + 3 + 3 = 11。这是剩余总和最小的方案。
【数据范围】
对于所有的数据$ 1 \le N \le 2 \times 10^5, 2 \le M \le 10^9, 0 \le a_i \lt M$。
数据编号|数据范围
--|--
1-3 |$N,M \le 10^3$
4-6 |$N \le 2 \times 10^5,M \le 10^6$
7-10|$ N \le 2 \times 10^5,M \le 10^9$