Ctrl K

Заполнить коробки доверху

Средняя
На складе стоят n коробок. В коробку i помещается limits[i] предметов, и в ней уже лежит loaded[i]. Есть ещё spare свободных предметов, которые можно разложить по любым коробкам (использовать все не обязательно). Верните наибольшее число коробок, которые после этого окажутся заполнены доверху.
Пример 1
limits=[5, 3, 7, 2], loaded=[5, 1, 3, 0], spare=4 → 3

Не хватает 0, 2, 4 и 2 предметов. Первая коробка уже полна, ещё две добиваем по 2 предмета — получается 3 полные коробки.

Пример 2
limits=[6, 6], loaded=[1, 2], spare=3 → 0

Каждой коробке не хватает больше трёх предметов, так что ни одну заполнить не выйдет.

Ограничения
  • n = len(limits) = len(loaded)
  • 1 ≤ n ≤ 5 · 10⁴
  • 1 ≤ limits[i] ≤ 10⁹
  • 0 ≤ loaded[i] ≤ limits[i]
  • 1 ≤ spare ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамое большое число из кусков СредняяСтудии для записи СредняяНизко — высоко — низко СредняяСтрого низко — высоко СредняяОтменить как можно меньше встреч Средняя
загружаем Python…
Вход
limits=[5, 3, 7, 2], loaded=[5, 1, 3, 0], spare=4
Ожидается
3

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 92 теста на сервере, включая скрытые.