Министерство правды
Уинстон Джон работает в министерстве правды. Недавно его повысили до начальника отдела, который занимается журналом "Информатика и жизнь". В связи с изменившейся политической ситуацией нужно срочно привести все выпуски журнала в соответствие с текущей действительностью.
В подчинении у Джона находятся три сотрудника министерства, между которыми он собирается разделить всю работу. Для того, чтобы избежать путаницы, Джон хочет назначить a первых выпусков журнала первому, b следующих второму и c последних третьему сотруднику. При этом каждому сотруднику должен достаться хотя бы один выпуск. Поскольку подобные работы проводятся уже не в первый раз, то про каждый номер журнала известно, сколько минут требуется на приведение его содержания в соответствие с политической ситуацией.
Задание будет выполнено, когда каждый сотрудник закончит вносить изменения. Если сотрудник справляется со своей частью раньше остальных, то оставшееся время он может использовать по своему усмотрению. Обозначим минимальное и максимальное время, затраченное сотрудниками на выполнение своей работы T[min]
и T[max]
соответственно. Задание будет выполнено за время T[max]
, а максимальное количество свободного времени, которое останется у его подчиненных есть T[max]
− T[min]
.
Джон считает, что большое количество свободного времени плохо сказывается на моральном облике подчиненных. Помогите Джону распределить работу так, чтобы величина T[max]
− T[min]
была минимальна.
Входные данные
Первая строка содержит целое число n (3 ≤ n ≤ 100000) - количество выпусков журнала. Вторая строка содержит n целых чисел t[1]
, t[2]
, ..., t[n]
(0 ≤ t[1]
, t[2]
, ..., t[n]
≤ 10^9
) - число минут, которое потребуется сотруднику министерства правды для внесения изменения в соответствующий выпуск журнала.
Выходные данные
Выведите через пробел числа a, b и c (a + b + c = n, a, b, c > 0) - число выпусков журнала, которое должно быть поручено первому, второму и третьему сотруднику. Если ответов несколько, выведите любой.