0 и 1. Подносы лежат стопкой: trays[0] — верхний. Перед раздачей стоит очередь: line[0] — первый, и каждый в ней хочет поднос определённого вида. Подносов ровно столько же, сколько людей.
Раздача идёт так: если первый в очереди хочет тот вид, что лежит сверху стопки, он забирает поднос и уходит. Иначе он встаёт в конец очереди. Брать поднос не сверху нельзя.
Всё прекращается, когда никто из оставшихся не хочет верхний поднос. Верните, сколько людей останутся без обеда.line=[0, 1, 1], trays=[1, 0, 1] → 0
Первый хочет 0, а сверху 1 — он уходит в конец: [1, 1, 0]. Теперь первый берёт 1, остаётся [1, 0] и стопка [0, 1]. Первый (1) снова уходит в конец, следующий берёт 0, последний — 1. Голодных нет: 0.
line=[0, 0, 1, 0], trays=[1, 1, 0, 0] → 3
Единственный желающий 1 забирает верхний поднос. Следующий сверху снова 1, а в очереди только трое хотящих 0 — они так и остаются без обеда. Ответ 3.
line=[0, 1, 1], trays=[1, 0, 1]
0
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 88 тестов на сервере, включая скрытые.