Ctrl K

Самая левая подходящая ячейка

Средняя
В пункте выдачи стоит ряд из n ячеек, lockers[j] — вместимость j-й ячейки. Пришло n посылок, parcels[i] — размер i-й. Посылки раскладывают по очереди, начиная с первой. Каждая кладётся в самую левую свободную ячейку, вместимость которой не меньше размера посылки. В одну ячейку помещается только одна посылка. Если подходящей свободной ячейки нет, посылка остаётся без места, и раскладка продолжается со следующей. Верните количество посылок, оставшихся без места.
Пример 1
parcels=[5, 2, 6], lockers=[3, 6, 2] → 1

Посылка 5 не влезает в ячейку 3 и уходит во вторую (6). Посылка 2 занимает первую ячейку (3). Для посылки 6 осталась только ячейка 2 — она остаётся без места.

Пример 2
parcels=[1, 4, 4], lockers=[4, 4, 1] → 1

Посылка 1 занимает первую ячейку, хотя третья ей тоже подошла бы: берётся самая левая свободная. Тогда 4 уходит во вторую, а последней четвёрке места нет.

Пример 3
parcels=[2, 2], lockers=[2, 9] → 0

Обе посылки помещаются, по одной на ячейку.

Ограничения
  • 1 ≤ n = len(parcels) = len(lockers) ≤ 10⁵
  • 1 ≤ parcels[i], lockers[j] ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЕдиниц больше, чем нулей СредняяНомер расстановки СредняяМеньшие справа СложнаяСуммы отрезков в заданной полосе СложнаяПары с крутым спадом Сложная
загружаем Python…
Вход
parcels=[5, 2, 6], lockers=[3, 6, 2]
Ожидается
1

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