Ctrl K

Блоки, выровненные по максимуму

Средняя
Дан массив неотрицательных чисел values и число max_len. Разбейте массив на непрерывные блоки длиной не больше max_len каждый. Затем в каждом блоке замените все элементы на максимум этого блока. Верните наибольшую сумму массива, которую можно получить после такой замены.
Пример 1
values=[3, 8, 1, 2, 6], max_len=2 → 31

Блоки [3, 8], [1], [2, 6] превращаются в [8, 8], [1], [6, 6]: сумма 29. Лучше не получится.

Пример 2
values=[4, 0, 0, 0], max_len=4 → 16

Один блок на весь массив: четыре четвёрки, сумма 16.

Пример 3
values=[5, 1, 5], max_len=1 → 11
Ограничения
  • 1 ≤ len(values) ≤ 500
  • 0 ≤ values[i] ≤ 10⁹
  • 1 ≤ max_len ≤ len(values)
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиМеньше всего прыжков до конца СредняяСамая прибыльная серия дней СредняяДобраться до последней клетки СредняяМаршруты тележки по складу СредняяДешёвый маршрут из угла в угол Средняя
загружаем Python…
Вход
values=[3, 8, 1, 2, 6], max_len=2
Ожидается
31

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