Загрузка [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

printРабочее место участника

printЗадачи

1593. Марсианские покупки

Ограничения: время – 1s/2s, память – 128MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение 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

Пример вывода 1

34

Пример ввода 2

10 3 100
22 78 33 33 34 17 18 65 83 17

Пример вывода 2

0
Во втором примере покупки лучше совершать следующим образом: в первый день – 2 покупки, во второй – 3, в третий – 3, в четвёртый – 2.
Источник: http://imcs.dvgu.ru/cats/ Весенний турнир, 2011
loading