stops[i] — координата стоянки i (все координаты различны). Вы стоите на стоянке origin с fuel единицами топлива, а приехать нужно на стоянку target. Заправиться по пути нельзя.
За один переезд можно отправиться с текущей стоянки i на любую другую стоянку j; это тратит |stops[i] - stops[j]| топлива. Топливо не может уйти в минус. Стоянки, включая origin и target, можно посещать сколько угодно раз.
Маршрут — это последовательность стоянок, которая начинается в origin и заканчивается в target. Посчитайте количество различных маршрутов. Ответ может быть большим — верните его по модулю 10⁹ + 7.stops=[1, 4, 6], origin=0, target=2, fuel=5 → 2
Подходят два маршрута: 0 → 2 (5 единиц топлива) и 0 → 1 → 2 (3 + 2 = 5). Любой другой маршрут требует больше топлива.
stops=[10, 12], origin=0, target=0, fuel=4 → 2
Можно никуда не ехать (маршрут из одной стоянки 0) или съездить 0 → 1 → 0, потратив 4. Итого 2.
stops=[3, 20, 7], origin=1, target=0, fuel=16 → 0
Даже прямой путь от 20 до 3 стоит 17 — топлива не хватает.
stops=[1, 4, 6], origin=0, target=2, fuel=5
2
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 63 теста на сервере, включая скрытые.