Ctrl K

Недели без повторов

Средняя
Вы ведёте n проектов, у проекта i осталось stages[i] этапов. Каждую неделю вы закрываете ровно один этап какого-то проекта, причём один и тот же проект нельзя брать две недели подряд. Как только все этапы закрыты или остались лишь этапы проекта, над которым вы работали на прошлой неделе, работа прекращается. Выбирая порядок с умом, верните наибольшее число недель, которые можно проработать.
Пример 1
stages=[2, 2, 1] → 5

Например, порядок 0, 1, 0, 1, 2 закрывает все пять этапов без повторов подряд.

Пример 2
stages=[6, 1, 1] → 5

Порядок 0, 1, 0, 2, 0 даёт пять недель. Дальше остались только этапы проекта 0, а он был на прошлой неделе — работа останавливается.

Пример 3
stages=[4] → 1
Ограничения
  • 1 ≤ n ≤ 10⁵
  • 1 ≤ stages[i] ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиДве доски и вода СредняяМеньше всего прыжков до конца СредняяДобраться до последней клетки СредняяСколько угодно сделок СредняяОткуда начать круг Средняя
загружаем Python…
Вход
stages=[2, 2, 1]
Ожидается
5

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