Автор: | И. Блинов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Перевозка пассажиров происходит по следующему алгоритму: автобус приходит на вокзал и ожидает пассажиров, пока они не займут все M мест. Новый автобус приходит на вокзал каждые d минут, первый автобус приезжает в момент времени 0. Время ожидания пассажира — это время, пока он стоит на остановке (если автобус стоит на остановке, а пассажир находится в нём, это не считается за ожидание).
Перевозчику пришли новые требования к перевозке пассажиров: теперь суммарное время ожидания для всех пассажиров не должно превышать T минут.
Вам точно известно количество пассажиров N, и для каждого из них момент времени ti, когда пассажир приходит на вокзал. Перевозчик считает, что увеличение интервала между автобусами позволит уменьшить необходимое количество автобусов. Поэтому вам требуется выбрать максимально большой интервал между автобусами так, чтобы суммарное время ожидания для всех пассажиров не превышало T минут.
Первая строка входного файла содержит три целых числа N, M и T. Следующая строка содержит N целых чисел ti. Гарантируется, что первый автобус не может забрать всех пассажиров.
Выходной файл должен содержать одно целое число — максимальный возможный интервал.
0 ≤ N, M ≤ 106; 1 ≤ ti ≤ 106; 1 ≤ T ≤ 109
Баллы за каждую подзадачу начисляются только в случае, если все тесты этой подзадачи успешно пройдены.
Подзадача | Баллы | Дополнительные ограничения | |||
---|---|---|---|---|---|
N | M | ti | T | ||
1 | 50 | 1 ≤ N ≤ 103 | 1 ≤ M ≤ 103 | 1 ≤ ti ≤ 103 | 1 ≤ T ≤ 103 |
1 | 50 | 1 ≤ N ≤ 106 | 1 ≤ M ≤ 106 | 1 ≤ ti ≤ 106 | 1 ≤ T ≤ 109 |
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|