eolymp
bolt
Try our new interface for solving problems
Məsələlər

Балансировка нагрузки

Балансировка нагрузки

Процессоры многопроцессорной системы соединены в цепь последовательно, один за одним. Они пронумерованы целыми числами от \textbf{1} до \textbf{n}. Каждый из них содержит некоторый набор заданий на исполнение, \textbf{i}-ый процессор содержит \textbf{t_i} заданий. Система будет сбалансированной, если каждый процессор будет содержать одинаковое количество заданий. Балансировка нагрузки происходит раундами. Каждый раунд каждый процессор может "передать" не более одного задания каждому своему соседу. Соседями процессора \textbf{i} являются процессоры с номерами \textbf{i-1} и \textbf{i+1}, крайние процессоры имеют лишь по одному соседу. Найдите наименьшее количество раундов, необходимое для балансировки системы. \InputFile В первой строке входного файла записано целое число \textbf{n} -- количество процессоров (\textbf{1} ≤ \textbf{n} ≤ \textbf{5000}). Вторая строка содержит последовательность \textbf{t}. Последовательность имеет длину \textbf{n} и содержит целые числа, каждое из которых от \textbf{0} до \textbf{50000} включительно. \OutputFile Выведите наименьшее количество раундов, необходимое для балансировки системы. Если сумма значений последовательности \textbf{t} не кратна \textbf{n}, то решения не существует. В этом случае выведите \textbf{-1}.
Zaman məhdudiyyəti 4 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
4
0 3 0 1
Çıxış verilənləri #1
1