eolymp
bolt
Try our new interface for solving problems
Problems

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

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

Процессоры многопроцессорной системы соединены в цепь последовательно, один за одним. Они пронумерованы целыми числами от \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}.
Time limit 4 seconds
Memory limit 64 MiB
Input example #1
4
0 3 0 1
Output example #1
1