i лежит boxes[i] единиц товара. Заказы приходят строго по очереди: заказу j нужна коробка, в которой не меньше orders[j] единиц.
До прихода первого заказа можно один раз убрать с полки любые коробки (в том числе ни одной) — оставшиеся сохраняют порядок. После этого убирать коробки просто так нельзя.
Дальше заказы обрабатываются по порядку. Для очередного заказа берут **крайнюю левую или крайнюю правую** коробку на полке, если в ней достаточно товара, и отдают её. Если ни одна крайняя коробка не подходит (или полка пуста), обработка останавливается.
Верните наибольшее число заказов, которые можно обработать.boxes=[4, 9, 2, 6], orders=[5, 6, 8] → 2
Заранее выбрасываем коробку 2, остаётся [4, 9, 6]. Заказ 5 закрываем коробкой 6 справа, заказ 6 — коробкой 9 (теперь она крайняя справа). Для заказа 8 осталась только 4 — не хватает. Итого 2.
boxes=[3, 1, 5], orders=[1, 3, 5] → 2
Все три не закрыть: на заказ 5 годится только коробка 5, тогда на заказ 3 — только 3, а первый заказ остаётся закрывать коробкой 1, до которой не добраться — она в середине. Два заказа закрыть можно: 3 слева, затем 5 справа.
boxes=[7, 7], orders=[2, 7, 1] → 2
Две коробки закрывают первые два заказа, на третий коробок не осталось.
boxes=[4, 9, 2, 6], orders=[5, 6, 8]
2
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 120 тестов на сервере, включая скрытые.