Баланс нагрузки в микроэнергосети
Просмотр в формате PDFПервая олимпиада Олмат.Программирование. 23.02.26
Тема: Энергосистемы Уровень: Новичок
📜 Четвертая находка
Цифровой археолог обнаружил фрагменты древней распределённой энергосети. Это была одна из первых микроэнергосистем, где станции передавали энергию последовательно — от узла к узлу, как по цепочке.
Каждая станция могла либо производить избыточную энергию, либо испытывать дефицит. Изменения фиксировались в виде последовательности чисел — положительные значения означали приток энергии, отрицательные — потребление или потери.
Но система была хрупкой. Если в какой‑то точке цепочки накопленный запас становился отрицательным — происходил выброс.
Выброс — это критическое состояние участка сети, при котором энергии недостаточно для поддержания работы узлов. После выброса происходил каскадный сбой всей системы.

Ваша задача — определить, могла ли эта сеть работать стабильно.
🧠 Немного о технологии
Микроэнергосеть — это распределённая система передачи энергии между локальными станциями. В ранних версиях таких сетей энергия передавалась линейно: каждый следующий участок зависел от накопленного остатка предыдущего.
Баланс определялся не только конечным результатом, но и состоянием в каждой точке передачи.
Если в процессе передачи суммарная энергия становилась отрицательной — происходил выброс, и сеть считалась нестабильной.
⚙️ Алгоритм как применяется на практике
В инженерных расчётах используется метод накопления значений.
Мы последовательно суммируем изменения энергии:
- начинаем с нулевого баланса,
- прибавляем значение текущего участка,
- проверяем, не стал ли суммарный баланс отрицательным.
Если хотя бы в одной точке баланс меньше нуля — система нестабильна.
Этот подход применяется в:
- моделировании энергосетей,
- анализе потоков ресурсов,
- проверке корректности финансовых транзакций,
- контроле производственных линий.
📌 Задача
Дан массив целых чисел — изменения энергии на каждом участке цепочки.
Необходимо определить, возможен ли баланс системы без отрицательного остатка на любом этапе передачи.
Если в процессе накопления сумма ни разу не становится отрицательной — система стабильна.
📥 Формат входных данных
В первой строке дано целое число n — количество участков цепочки.
Во второй строке дано n целых чисел — изменения энергии на каждом участке.
Ограничения
- 1 ≤ n ≤ 10^5
- -10^9 ≤ a[i] ≤ 10^9
📤 Формат выходных данных
Выведите:
- "YES", если система может работать без выбросов;
- "NO", если в какой-либо точке возникает отрицательный баланс.
📘 Примеры
Пример 1
Входные данные: 5 3 -1 2 -2 1
Выходные данные: YES
Пример 2
Входные данные: 4 2 -5 3 1
Выходные данные: NO
Пример 3
Входные данные: 3 1 1 -3
Выходные данные: NO
Комментарии