Ctrl K

Буфер с редкими перестройками

Средняя
Вы проектируете буфер, размер которого можно менять. В момент t в нём лежит load[t] элементов, поэтому размер буфера в этот момент должен быть не меньше load[t]. Потери в момент t равны разнице между размером буфера и load[t], а общие потери — сумме по всем моментам. Начальный размер выбирается свободно и перестройкой не считается. После этого менять размер (на любое значение) можно не более resizes раз. Верните наименьшие возможные общие потери.
Пример 1
load=[4, 8, 6, 2], resizes=1 → 6

Держим размер 8 на первых трёх моментах, потом уменьшаем до 2: потери (8 − 4) + 0 + (8 − 6) + 0 = 6.

Пример 2
load=[7, 3, 9], resizes=0 → 8

Менять размер нельзя, значит он с самого начала равен 9: потери 2 + 6 + 0 = 8.

Пример 3
load=[5, 5, 5], resizes=2 → 0

Размер 5 подходит всё время, ничего не теряется.

Ограничения
  • 1 ≤ len(load) ≤ 200
  • 1 ≤ load[t] ≤ 10⁶
  • 0 ≤ resizes ≤ len(load) − 1
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиМеньше всего прыжков до конца СредняяСамая прибыльная серия дней СредняяДобраться до последней клетки СредняяМаршруты тележки по складу СредняяДешёвый маршрут из угла в угол Средняя
загружаем Python…
Вход
load=[4, 8, 6, 2], resizes=1
Ожидается
6

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