roofs, старт — на крыше с индексом 0, за один шаг можно перейти только на следующую крышу.
- Если следующая крыша не выше текущей, переход бесплатный.
- Если выше на d, нужно либо поставить одну лестницу, либо уложить d кирпичей.
У вас bricks кирпичей и ladders лестниц, каждую можно использовать один раз. Распределите их наилучшим образом и верните индекс самой дальней крыши, до которой удастся добраться.roofs=[3, 8, 6, 10, 11, 4, 9], bricks=4, ladders=1 → 3
С 0 на 1 подъём 5 — ставим лестницу. С 1 на 2 спуск. С 2 на 3 подъём 4 — тратим все 4 кирпича. С 3 на 4 подъём 1, а запасов уже нет: дальше крыши 3 не пройти. Если отдать лестницу подъёму 4, то на подъём 5 кирпичей не хватит ещё раньше.
roofs=[9, 7, 7, 2], bricks=0, ladders=0 → 3
Подъёмов нет вовсе — доходим до последней крыши с индексом 3.
roofs=[1, 4, 2, 7, 5, 6], bricks=3, ladders=1 → 4
Подъёмы: 3, 5 и 1. Лестницу выгоднее всего отдать подъёму 5, а 3 кирпича уходят на подъём 3. На последний подъём 1 ничего не остаётся, поэтому дальше крыши 4 не пройти.
roofs=[3, 8, 6, 10, 11, 4, 9], bricks=4, ladders=1
3
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 119 тестов на сервере, включая скрытые.