Олимпиадный тренинг

Задача . C. Подарок


Маленький бобренок — начинающий программист, поэтому информатика — его самый любимый предмет. Совсем скоро будет день рождения учительницы по информатике, и бобренок решил приготовить ей подарок. Он посадил n цветков в ряд на подоконнике и стал ждать, пока они вырастут, чтобы собрать букет ко дню рождения учительницы. Однако, спустя некоторое время, бобренок обнаружил, что цветы перестали расти. Бобренок считает, что дарить слишком маленькие цветы некрасиво, поэтому он решил предпринять соответствующие меры.

До дня рождения осталось m дней. Высота i-го цветка (считайте, что цветы в ряду пронумерованы от 1 до n слева направо) в данный момент времени равна ai. В каждый из оставшихся m дней бобренок может один раз с помощью специальной лейки полить w подряд идущих цветков, при этом каждый политый цветок в этот же день вырастает на единицу длины. Теперь бобренок хочет знать: какая максимальная высота может получиться у самого маленького цветка в букете?

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

В первой строке через пробел записаны целые числа n, m и w (1 ≤ w ≤ n ≤ 105; 1 ≤ m ≤ 105). Во второй строке через пробел записаны целые числа a1, a2, ..., an (1 ≤ ai ≤ 109).

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

Выведите целое число — максимальную высоту самого маленького цветка в итоге.

Примечание

В первом примере в первый день нужно полить последние 3 цветка, их высота увеличится на 1. В оставшийся день можно вовсе не поливать цветы. В таком случае высоты цветов будут равны: [2, 2, 2, 3, 2, 2]. Высота самого маленького цветка равна 2. Сделать эту высоту равной 3 за 2 дня никак не получится.


Примеры
Входные данныеВыходные данные
1 6 2 3
2 2 2 2 1 1
2
2 2 5 1
5 8
9

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя