Владимир хочет модернизировать перегородки в офисе. Чтобы было просторнее, он решил вместо перегородки просто посадить несколько бамбуков в ряд. Он считает, что получится красиво, если в ряд будут расти n бамбуков, и i-й из них слева будет иметь высоту ai метров.
Владимир только что посадил ровно n бамбуков в ряд, они сейчас имеют высоту 0 метров и вырастают на 1 метр каждый день. Для того, чтобы перегородка стала красивой, Владимир может каждый из бамбуков обрезать один раз на любой высоте (не выше той, до которой вырос бамбук), и после этого этот бамбук расти не будет.
Владимир хочет проверять бамбуки каждые d дней (т.е. спустя d дней после посадки, затем спустя 2d дней и так далее), и обрезать те, что уже выросли до необходимой высоты. Владимир хочет, чтобы суммарная длина отрезанных частей бамбука была не больше k метров.
Какую максимальную величину d он может выбрать, чтобы достичь результата, не отрезая суммарно больше k метров бамбука?
В первой строке находятся два целых числа n и k (1 ≤ n ≤ 100, 1 ≤ k ≤ 1011) — число бамбуков и максимальная суммарная длина отрезанных частей в метрах.
Во второй строке находятся n целых чисел a1, a2, ..., an (1 ≤ ai ≤ 109) — высоты бамбуков, необходимые Владимиру, в метрах.
Выведите одно число — максимальное значение d, при котором Владимир сможет достичь своей цели.
3 4
1 3 5
3
3 40
10 30 50
32
В первом примере Владимир может обрезать бамбуки каждые 3 дня. Тогда через 3 дня он обрежет первый и второй бамбуки, а через 6 дней — третий бамбук. Суммарная длина отрезанных частей составит 2 + 0 + 1 = 3 метра.
Название |
---|