Задача по олимпиадному программированию
Разработчик Фёдор очень любит печеньки в офисе, и он точно знает все N мест, где их можно найти, а также точное количество печенек Cn в каждом месте. Сегодня Федор особенно голоден, он закончил большую задачу, и решает выделить себе м часов на то, чтобы съесть все печеньки в офисе.
Фёдор рассчитал минимальное количество печенек К, которое ему нужно съедать в течение часа так, чтобы в итоге успеть съесть все печеньки в офисе за выделенное время или раньше.
В каждый час, он может посетить одно любое место с печеньками и съесть K печенек в этом месте, он потратит на это целый час, даже если в этом месте осталось меньше, чем K печенек, потому что будет обсуждать с коллегами задачи и планы. Места без печенек Фёдор может не посещать. Коллеги, из уважения к Федору, никогда не трогают его любимые печеньки.
Входные данные (поступают в стандартный поток ввода)
Первая строка - целые числа N и М через пробел (1≤N≤100 000, 1≤M≤200 000)
Далее и строк, на каждой из которых одно целое число Cn (0≤Cn≤10 000)
Все входные данные наших тестов всегда соблюдают указанные параметры, дополнительные проверки не требуются
Выходные данные (ожидаются в стандартном потоке вывода)
Одно целое число, минимально возможное К. Либо 0, если в офисе нет печенек, или если Фёдор не успеет съесть все печеньки за выделенное время.
Пример 1
Ввод:
3 6
4
4
4
Вывод:
2
Пример 2
Ввод:
3 6
4
4
5
Вывод:
3
Пример 3
Ввод:
3 3
6
6
8
Вывод:
8