Максимальная длина куска

Просмотр в формате PDF

Submit solution


Очки: 150
Ограничение по времени: 2.0s
Ограничение по памяти: 256M

Автор:
Problem type
Allowed languages
C++, Python

У портного есть n рулонов ткани длинами a_1, a_2, ..., a_n.

Он хочет разрезать рулоны на куски одинаковой целой длины L. Из рулона длины len можно получить floor(len / L) таких кусков, а оставшаяся ткань не используется.

Требуется определить максимальную целую длину куска L, при которой из всех рулонов вместе можно получить не меньше k кусков.

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

Первая строка содержит два целых числа n и k — количество рулонов ткани и требуемое количество кусков.

Вторая строка содержит n целых чисел a_i — длины рулонов.

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

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

Ограничения

  • 1 <= n <= 2 * 10^5
  • 1 <= k <= 10^18
  • 1 <= a_i <= 10^9

Гарантируется, что хотя бы один кусок длины 1 получить можно.

Примеры

Пример 1

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

1 1
1

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

1
Пример 2

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

5 7
5 8 6 3 10

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

3

Комментарии

Еще нет ни одного комментария.