Ctrl K

Передать нагрузку влево

Средняя
Серверы стоят в ряд, loads[i] — число задач на сервере i. За один шаг можно взять одну задачу с сервера i (где i ≥ 1 и loads[i] > 0) и передать её соседу слева, серверу i − 1. Шагов можно сделать сколько угодно. Верните наименьшее возможное значение самой большой нагрузки в ряду.
Пример 1
loads=[2, 8, 0, 6] → 5

Сдвигаем 3 единицы с позиции 1 на позицию 0: [5, 5, 0, 6]. Затем 1 единицу с позиции 3 на позицию 2: [5, 5, 1, 5]. Максимум 5; меньше нельзя, ведь на первых двух позициях вместе 10.

Пример 2
loads=[9, 2, 4] → 9

Нагрузку можно двигать только влево, а позиция 0 уже держит 9 — уменьшить её нельзя.

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

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