Ctrl K

Два из первых трёх

Средняя
На складе в очереди на отгрузку стоят ящики, их веса — массив loads (в порядке очереди). Ящики увозят, пока очередь не опустеет, и каждый рейс устроен так: - если в очереди три ящика или больше, выбираются **любые два из первых трёх** и увозятся; стоимость рейса — больший из двух весов; - если ящиков меньше трёх, увозятся все оставшиеся за один рейс; стоимость — наибольший вес среди них. Оставшиеся ящики сохраняют свой порядок. Верните наименьшую суммарную стоимость, за которую можно освободить очередь.
Пример 1
loads=[4, 9, 3, 5] → 13

Сначала убираем 4 и 3 из первой тройки за max(4, 3) = 4, остаются [9, 5] — их убираем вместе за 9. Итого 13.

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

Убираем две двойки за 2, получаем [7, 7, 1]; затем две семёрки за 7, и последняя единица уходит за 1. Итого 10.

Пример 3
loads=[6] → 6

Один элемент убирается одним ходом за 6.

Ограничения
  • 1 ≤ len(loads) ≤ 1000
  • 1 ≤ loads[i] ≤ 10⁶
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
загружаем Python…
Вход
loads=[4, 9, 3, 5]
Ожидается
13

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