Задача B. Министерство правды

Автор:Андрей Комаров, Павел Кротков, Антон Банных   Ограничение времени:2 сек
Входной файл:minitrue.in   Ограничение памяти:256 Мб
Выходной файл:minitrue.out  
Максимальный балл:100  

Условие

При подготовке пакета были использованы материалы сайта школьных олимпиад по информатике.

Уинстон Джон работает в министерстве правды. Недавно его повысили до начальника отдела, который занимается журналом "Информатика и жизнь". В связи с изменившейся политической ситуацией нужно срочно привести все выпуски журнала в соответствие с текущей действительностью.

В подчинении у Джона находятся три сотрудника министерства, между которыми он собирается разделить всю работу. Для того, чтобы избежать путаницы, Джон хочет назначить a первых выпусков журнала первому, b следующих второму и c последних третьему сотруднику. При этом каждому сотруднику должен достаться хотя бы один выпуск. Поскольку подобные работы проводятся уже не в первый раз, то про каждый номер журнала известно, сколько минут требуется на приведение его содержания в соответствие с политической ситуацией.

Задание будет выполнено, когда каждый сотрудник закончит вносить изменения. Если сотрудник справляется со своей частью раньше остальных, то оставшееся время он может использовать по своему усмотрению. Обозначим минимальное и максимальное время, затраченное сотрудниками на выполнение своей работы Tmin и Tmax соответственно. Задание будет выполнено за время Tmax, а максимальное количество свободного времени, которое останется у его подчиненных есть Tmax − Tmin.

Джон считает, что большое количество свободного времени плохо сказывается на моральном облике подчиненных. Помогите Джону распределить работу так, чтобы величина Tmax − Tmin была минимальна.

Решения, работающие для n ≤ 100 будут оцениваться из 40 баллов.

Решения, работающие для n ≤ 5000 будут оцениваться из 60 баллов.

Формат входного файла

Первая строка входного файла содержит целое число n (3 ≤ n ≤ 100 000) — количество выпусков журнала. Вторая строка файла содержит n целых чисел t1, t2, … tn (0 ≤ t1, t2, …, tn ≤ 109) — число минут, которое потребуется сотруднику министерства правды для внесения изменения в соответствующий выпуск журнала.

Формат выходного файла

Выведите через пробел числа a, b и c (a + b + c = n, a, b, c > 0) — число выпусков журнала, которое должно быть поручено первому, второму и третьему сотруднику. Если ответов несколько, выведите любой.

Примеры тестов

Входной файл (minitrue.in) Выходной файл (minitrue.out)
1
6
1 2 3 0 2 1
2 1 3
2
3
1 2 3
1 1 1

0.039s 0.008s 15