eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Экономия центов

Экономия центов

Для проведения регионального соревнования, такого как NWERC, необходимо приготовление: организация комнат и компьютеров, создание хорошего набора задач, приглашение конкурсантов, проектирование футболок, бронирование номеров в гостиницах и так далее. Я отвечаю за посещение магазина в супермаркете.

Когда я добираюсь до кассы, я кладу все свои n предметов на конвейер и жду, пока все остальные клиенты в очереди передо мной будут обслужены. Ожидая, я понимаю, что этот супермаркет недавно начал округлять общую цену покупки до ближайшего кратного в 10 центов (при 5 центах округление совершается вверх). Например 94 центов округлится до 90, в то время как 95 центов округлится до 100.

Можно разделить мои покупки на группы и отдельно их оплачивать. Мне удалось найти d разделителей, чтобы разделить покупки на d + 1 группу. Мне интересно, где разместить разделители, чтобы минимизировать общую стоимость всех покупок. Поскольку у меня заканчивается время, я не хочу переставлять предметы на ленте.

Входные данные

Состоит из:

  • строка содержит два числа n (1n2000) и d (1d20) - количество покупок и количество имеющихся в наличии разделителей;

  • строка из n целых чисел p1, ..., pn (1pi10000 для 1in) - цены покупок в центах. Цены заданы в том же порядке в котором покупки размещены на ленте.

Выходные данные

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

Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Входные данные #1
5 1
13 21 55 60 42
Выходные данные #1
190
Входные данные #2
5 2
1 1 1 1 1
Выходные данные #2
0
Источник 2014 ACM North Western European Regional Contest (NWERC), Ноябрь 30, Задача C