Ограничения: время – 1s/2s, память – 128MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод 
Послать решение Blockly Посылки Темы Где Обсудить (0)
Юный марсианин Вася, живущий в Сидонии, много разговаривает по телефону и часто просит родителей
пополнить его счёт. Родители, конечно, недовольны излишним расходом семейного бюджета.
После долгого семейного совета был достигнут компромисс.
Васина семья составила список из N покупок, которые необходимо совершить в хронологическом порядке.
Каждый день Васин папа может сделать от одной до K покупок – больше не вмещается
в любимый семейный трипод.
Васин папа педантичен и всегда старается, чтобы на счету его банковской карты была сумма, кратная M.
Поэтому каждый день после совершения покупок он перечисляет на баланс Васиного телефона
минимальную сумму, необходимую, чтобы остаток на карте стал кратен M.
Для каждой покупки известна стоимость Ci.
Помогите папе распланировать покупки таким образом, чтобы после
совершения всех N покупок суммарные затраты на Васин телефон оказались минимальными.
Входной файл содержит три целых числа – N (1\ ≤\ N\ ≤\ 40000,
1\ ≤\ K\ ≤\ 2000, 1\ ≤\ M\ ≤\ 10^4), за которыми следуют N целых чисел C_i (1\ ≤\ C_i\ ≤\ 10^6).
Выходной файл должен содержать единственное целое число – минимальные затраты на Васин телефон.
Пример ввода 1
2 2 50
122 144
Пример ввода 2
10 3 100
22 78 33 33 34 17 18 65 83 17
Во втором примере покупки лучше совершать следующим образом: в первый
день – 2 покупки, во второй – 3, в третий – 3, в четвёртый – 2.
Источник: http://imcs.dvgu.ru/cats/ Весенний турнир, 2011