Автор: | Андрей Комаров, Павел Кротков, Антон Банных | Ограничение времени: | 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 |
|
|
2 |
|
|