Условие:
Входные данные
Первая строка входных данных содержит целое число N
(3≤N≤105
) — количество домов на улице. Следующие N
строк содержат по одному целому числу ai
(0<|ai|≤104
). Если ai>0
, то в i
-м доме проживает ai
избирателей, голосующих за кандидата от партии X
. Если ai<0
, то в i
-м доме проживает |ai|
избирателей, голосующих против кандидата от партии X
.
Выходные данные
Если возможно разделить N
домов на три округа так, что минимум в двух округах выигрывает кандидат от партии X
, программа должна вывести три целых положительных числа N1
, N2
, N3
, N1+N2+N3=N
, соответствующих количеству домов в первом, втором и третьем избирательном округе от начала улицы. При таком разбиении минимум в двух округах из трёх должен выигрывать кандидат от партии X
. Если возможно несколько таких разбиений, необходимо вывести любое из них.
Если искомое разбиение не существует, программа должна вывести одно число 0.
Пример
Входные данные
7
-3
-5
3
-4
2
5
-3
Выходные данные
4 1 2
