Задача по олимпиадному программированию

Разработчик Фёдор очень любит печеньки в офисе, и он точно знает все 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

Reply to this note

Please Login to reply.

Discussion

No replies yet.