Ctrl K

Стопки горкой

Средняя
В ряд стоят n стопок кубиков, в i-й стопке stacks[i] кубиков. Из стопок можно только убирать кубики, но не добавлять, и в каждой должен остаться хотя бы один. Нужно, чтобы ряд стал горкой: высоты сначала не убывают до некоторой вершины, а после неё не возрастают. Вершина может быть и у края, и состоять из нескольких одинаковых стопок подряд. Верните наибольшее общее число кубиков, которое может остаться в ряду-горке.
Пример 1
stacks=[4, 6, 2, 8, 3] → 17

Лучшая вершина — 8: слева стопки срезаются до [2, 2, 2], справа остаётся 3. Получается [2, 2, 2, 8, 3], сумма 17. С вершиной 6 вышло бы [4, 6, 2, 2, 2] — всего 16.

Пример 2
stacks=[3, 3, 3] → 9

Срезать ничего не нужно: ровный ряд тоже годится.

Пример 3
stacks=[1, 9, 1, 9] → 12
Ограничения
  • 1 ≤ len(stacks) ≤ 1000
  • 1 ≤ stacks[i] ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПрямой обход дерева поиска СредняяНиз, пик и середина СредняяСледующее большее по кругу СредняяПерестроить середину шеренги СредняяДерево из вершин-максимумов Средняя
загружаем Python…
Вход
stacks=[4, 6, 2, 8, 3]
Ожидается
17

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