Максимальная длина куска
Просмотр в формате PDF
Submit solution
C++, Python
Очки:
150
Ограничение по времени:
2.0s
Ограничение по памяти:
256M
Автор:
Problem type
Allowed languages
У портного есть n рулонов ткани длинами a_1, a_2, ..., a_n.
Он хочет разрезать рулоны на куски одинаковой целой длины L. Из рулона длины len можно получить floor(len / L) таких кусков, а оставшаяся ткань не используется.
Требуется определить максимальную целую длину куска L, при которой из всех рулонов вместе можно получить не меньше k кусков.
Входные данные
Первая строка содержит два целых числа n и k — количество рулонов ткани и требуемое количество кусков.
Вторая строка содержит n целых чисел a_i — длины рулонов.
Выходные данные
Выведите одно целое число — максимальную возможную длину куска L.
Ограничения
1 <= n <= 2 * 10^51 <= k <= 10^181 <= a_i <= 10^9
Гарантируется, что хотя бы один кусок длины 1 получить можно.
Примеры
Пример 1
Входные данные
1 1
1
Выходные данные
1
Пример 2
Входные данные
5 7
5 8 6 3 10
Выходные данные
3
Комментарии