Ctrl K

Фрукты с бонусом

Средняя
На рынке в ряд лежат фрукты, prices[i] — цена фрукта с номером i + 1 (нумерация с единицы). У продавца акция: купив фрукт номер i, вы можете бесплатно забрать любые из следующих i фруктов (с номерами от i + 1 до 2i). Фрукт, который достаётся даром, всё равно можно купить — чтобы получить и его бонус. Верните наименьшую сумму, за которую можно унести все фрукты.
Пример 1
prices=[4, 2, 9, 9] → 6

Покупаем первый фрукт за 4 — второй бесплатно. Покупаем второй за 2 — бесплатны третий и четвёртый. Итого 6.

Пример 2
prices=[2, 7, 1, 8, 3] → 3

Покупаем первый (2), второй берём даром, покупаем третий (1) — он дарит четвёртый и пятый. Итого 3.

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

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