i лежит points[i] (может быть отрицательным). Вы стоите в клетке 0 и хотите попасть в последнюю. За один прыжок можно продвинуться вперёд на 1, 2, ..., reach клеток, не выходя за конец ряда.
Счёт пути — сумма очков всех клеток, в которых вы побывали, включая первую и последнюю. Верните наибольший возможный счёт.points=[2, -4, 5, -1, -3, 6], reach=2 → 12
Лучший путь 0 → 2 → 3 → 5: 2 + 5 + (-1) + 6 = 12. Перепрыгнуть с 2 сразу на 5 нельзя — это три шага.
points=[1, -10, -10, 4], reach=3 → 5
Одним прыжком из 0 в 3: 1 + 4 = 5.
points=[-7], reach=1 → -7
len(points) ≤ 10⁵reach ≤ 10⁵points[i] ≤ 10⁴points=[2, -4, 5, -1, -3, 6], reach=2
12
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 95 тестов на сервере, включая скрытые.