Ограничение времени - 1 секунда
Ввод - стандартный ввод или input.txt
Ограничение памяти - 256Mb
Вывод - стандартный вывод или output.txt
ВМК организует соревнование по быстрому поеданию сосисок. В этом соревновании участвуют команды из $$$k$$$ человек. Для соревнования на столе выставляется в линию $$$n$$$ пачек с сосисками, и каждый участник команды берет несколько пачек подряд из линии, начиная слева. Участник может взять любое количество пачек, включая ноль, если предыдущий участник взял последнюю. Последний участник команды берет все оставшиеся пачки. Запрещено передавать пачки другим участникам или есть из одной пачки нескольким участникам. После того, как пачки сосисок распределены, дан сигнал к началу, и все участники начинают есть свои сосиски. Время окончания определяется по последнему участнику, который закончит есть, и округляется вверх до целого числа секунд.
Количество сосисок в пачке может быть разным, поэтому важно распределить пачки среди участников команды таким образом, чтобы время поедания было минимальным. Известно, что каждый участник может съесть ровно $$$s$$$ сосисок в секунду.
Напишите программу, которая определит за какое минимальное время команда может съесть все сосиски.
Первая строка ввода содержит три числа —- количество пачек сосисок $$$n$$$ $$$(1 \le n \le 10^5)$$$, количество членов команды $$$k$$$ $$$(1 \le k \le 10^5)$$$ и скорость поедания сосисок $$$s$$$ $$$(1 \le s \le 50)$$$. Следующая строка содержит $$$n$$$ чисел —- количество сосисок в пачках $$$a_i(1 \le a_i \le 10^4)$$$ слева направо.
Вывести минимальное время, которое потребуется команде, чтобы съесть все сосиски.
5 3 4 5 8 3 10 7
4
3 2 1 1 5 1
6