Ctrl K

Прыжки по камням

Средняя
В ряд лежат камни, на i-м написано число stones[i]. Лягушка стоит на камне 0 и должна добраться до последнего. Прыгать можно только вперёд: с камня i на любой камень j > i, и за такой прыжок она получает (j - i) · stones[j] очков — длина прыжка, умноженная на число на камне приземления. Верните наибольшую сумму очков, которую лягушка может набрать, добравшись до последнего камня.
Пример 1
stones=[2, 6, 3, 5] → 16

Выгоднее всего прыгнуть 0 → 1 → 3: 1 · 6 + 2 · 5 = 16. Например, прыжок сразу 0 → 3 даёт только 3 · 5 = 15.

Пример 2
stones=[9, 1, 1] → 2

Значение первого камня в счёт не идёт. Оба маршрута, 0 → 2 и 0 → 1 → 2, дают 2.

Ограничения
  • 2 ≤ len(stones) ≤ 1000
  • 1 ≤ stones[i] ≤ 10⁵
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиДерево из произведений листьев СредняяПодъём отрезками СложнаяПолзунки эквалайзера по пресету СложнаяПерестроить середину шеренги СредняяБольше всего кусков для сортировки Средняя
загружаем Python…
Вход
stones=[2, 6, 3, 5]
Ожидается
16

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