n объектов, пронумерованных с 1. На объекте j осталось work[j - 1] единиц работы. Каждый объект нужно сдать инспектору.
Инспектор ходит по графику visits: в секунду s (от 1 до m) он стоит у объекта visits[s - 1]. В каждую секунду бригада делает ровно одно из трёх:
- выполняет одну единицу работы на любом объекте;
- сдаёт объект, у которого сейчас стоит инспектор, если работы на нём не осталось;
- ничего не делает.
Верните самую раннюю секунду, к концу которой можно сдать все объекты, или -1, если за m секунд это невозможно.work=[1, 0], visits=[2, 1, 2, 1] → 3
Секунда 1: работаем на объекте 1, он готов. Секунда 2: инспектор у объекта 1 — принимает его. Секунда 3: инспектор у объекта 2, работы там не было — принимает. Ответ 3.
work=[2, 1], visits=[1, 2, 2, 1, 1] → 5
Нужно 3 секунды работы и 2 секунды на приёмку. Объект 2 удобно принять в секунду 3, а объект 1 — в секунду 5: всё укладывается ровно в 5 секунд.
work=[0, 0, 1], visits=[1, 2, 1, 2] → -1
Инспектор ни разу не приходит к объекту 3, поэтому принять всё нельзя.
work=[1, 0], visits=[2, 1, 2, 1]
3
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 116 тестов на сервере, включая скрытые.