Ctrl K

Лучший счёт короткими прыжками

Средняя
По ряду клеток разложены очки: в клетке i лежит points[i] (может быть отрицательным). Вы стоите в клетке 0 и хотите попасть в последнюю. За один прыжок можно продвинуться вперёд на 1, 2, ..., reach клеток, не выходя за конец ряда. Счёт пути — сумма очков всех клеток, в которых вы побывали, включая первую и последнюю. Верните наибольший возможный счёт.
Пример 1
points=[2, -4, 5, -1, -3, 6], reach=2 → 12

Лучший путь 0 → 2 → 3 → 5: 2 + 5 + (-1) + 6 = 12. Перепрыгнуть с 2 сразу на 5 нельзя — это три шага.

Пример 2
points=[1, -10, -10, 4], reach=3 → 5

Одним прыжком из 0 в 3: 1 + 4 = 5.

Пример 3
points=[-7], reach=1 → -7
Ограничения
  • 1 ≤ len(points) ≤ 10⁵
  • 1 ≤ reach ≤ 10⁵
  • -10⁴ ≤ points[i] ≤ 10⁴
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиФрукты с бонусом СредняяНаибольшая сумма с короткими прыжками СложнаяРейсы парома со склада СложнаяОстановки с бесплатным проездом СложнаяЛучший отрезок на кольце Средняя
загружаем Python…
Вход
points=[2, -4, 5, -1, -3, 6], reach=2
Ожидается
12

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 95 тестов на сервере, включая скрытые.