11973. Карти


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Степан має на руках \(N\) карт. Для \(i=1,2,…,N\) на \(i\)-й картці записано ціле невід’ємне число \(A_i\) ​.

По-перше, Степан вільно вибере картку зі своєї руки та покладе її на стіл. Потім він повторить наступну операцію скільки завгодно разів (можливо, нуль).

  • Нехай \(X\) — ціле число, написане на останній картці, покладеній на стіл. Якщо на його руці є карти з цілим числом \(X\) або цілим числом \((X+1)\) mod \(M\), вільно виберіть одну з цих карток і покладіть її на стіл. Тут \((X+1)\) mod \(M\) позначає залишок від поділення \((X+1)\) на \(M\).

Виведіть найменшу можливу суму цілих чисел, написаних на картках, які залишилися в його руці.

Обмеження

  • \(1≤N≤2×10^5\)
  • \(2≤M≤10^9\)
  • \(0≤A_i ​ <M\)
  • Усі значення у вхідних даних є цілими числами.

Формат вхідних даних

Перший рядок містить цілі числа \(N, M\).

Наступний рядок містить цілі числа \(A_i\).

Формат вихідних даних

У вихідний потік виведіть відповідь.

Приклад вхідних даних

9 7
3 0 2 5 5 3 0 6 3

Приклад вихідних даних

11

Припустимо, що він спочатку кладе четверту картку (написано 5) на стіл, а потім виконує наступне.

  • Покладіть п'яту картку (написано 5) на стіл.
  • Покладіть восьму картку (написано 6) на стіл.
  • Покладіть другу картку (написано 0) на стіл.
  • Покладіть сьому картку (написано 0) на стіл.

Тоді перша, третя, шоста та дев’ята картки залишаться в його руці, а сума цілих чисел на цих картках дорівнює 3+2+3+3=11. Це мінімально можлива сума цілих чисел, написаних на картках, які залишаються в його руці.

Приклад вхідних даних

1 10
4

Приклад вихідних даних

0

Приклад вхідних даних

20 20
18 16 15 9 8 8 17 1 3 17 11 9 12 11 7 3 2 14 3 12

Приклад вихідних даних

99

Коментарі

Ще немає коментарів.