Ctrl K

Крутая подпоследовательность с наибольшей суммой

Сложная
Дан массив целых чисел values. Выберите непустую подпоследовательность с индексами i₀ < i₁ < … < iₘ₋₁. Она называется крутой, если каждый следующий выбранный элемент больше предыдущего хотя бы на расстояние между ними: values[iⱼ] - values[iⱼ₋₁] ≥ iⱼ - iⱼ₋₁ для всех j от 1 до m - 1. Подпоследовательность из одного элемента всегда крутая. Верните наибольшую сумму элементов крутой подпоследовательности.
Пример 1
values=[1, 4, 2, 8] → 13

Берём индексы 0, 1, 3: 4 - 1 ≥ 1 - 0 и 8 - 4 ≥ 3 - 1. Сумма 1 + 4 + 8 = 13.

Пример 2
values=[-5, -2, -9] → -2

Все числа отрицательные, выгоднее всего взять одно число -2.

Пример 3
values=[3, 2, 1, 7] → 10

3 и 7: разница 4 при расстоянии 3 — подходит, сумма 10. Тройки 3, 2 или 2, 1 не годятся.

Ограничения
  • 1 ≤ len(values) ≤ 10⁵
  • -10⁹ ≤ values[i] ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиМеньшие справа СложнаяСуммы отрезков в заданной полосе СложнаяПары с крутым спадом СложнаяЦена расстановки на полке СложнаяТройки, согласные в обоих рейтингах Сложная
загружаем Python…
Вход
values=[1, 4, 2, 8]
Ожидается
13

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