Ctrl K

Урожай с убывающих куч

Средняя
Даны кучи монет piles и число moves. Счёт изначально равен 0. За один ход вы выбираете любую кучу, добавляете к счёту её размер v, после чего в куче остаётся ⌈v / 3⌉ монет (деление на 3 с округлением вверх). Сделайте ровно moves ходов (одну и ту же кучу можно выбирать сколько угодно раз) и верните наибольший возможный счёт.
Пример 1
piles=[2, 12, 5], moves=3 → 21

Берём 12 (куча становится 4), затем 5 (становится 2), затем 4. Итого 12 + 5 + 4 = 21.

Пример 2
piles=[7], moves=4 → 12

Одна куча: 7, затем ⌈7/3⌉ = 3, затем 1, затем снова 1. Итого 12.

Пример 3
piles=[6, 6, 6], moves=3 → 18
Ограничения
  • 1 ≤ len(piles) ≤ 10⁵
  • 1 ≤ moves ≤ 10⁵
  • 1 ≤ piles[i] ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСтудии для записи СредняяЗадания с перерывом на остывание СредняяСерии подряд идущих чисел СредняяМетки вразнобой СредняяСращивание верёвок Средняя
загружаем Python…
Вход
piles=[2, 12, 5], moves=3
Ожидается
21

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