Ctrl K

Тающее мороженое

Средняя
На прилавке стоят n стаканчиков мороженого, в i-м — порция размера scoops[i]. Вы забираете ровно k стаканчиков, по одному за ход. После каждого хода все стаканчики, оставшиеся на прилавке, подтаивают: порция каждого уменьшается на 1, но не опускается ниже нуля. Верните наибольший суммарный размер забранных порций.
Пример 1
scoops=[2, 6, 4], k=2 → 9

Сначала берём порцию 6. Остальные тают до [1, 3], вторым ходом берём 3. Итого 6 + 3 = 9.

Пример 2
scoops=[1, 1, 2], k=3 → 2

Берём 2, оставшиеся единички тают до нуля. Дальше берём пустые стаканчики: 2 + 0 + 0 = 2.

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

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