Ограничения: время – 300ms/600ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
`N` домиков стоят в ряд на пляже.
Каждое утро две машины развозят еду проживающим в домиках.
Одна машина едет с левой стороны, другая – с правой. Когда машина подъезжает к домику, люди, проживающие в нем,
выходят и забирают свой завтрак.
Выдача одной порции еды занимает 1 единицу времени, переезд между соседними домиками – 5 единиц времени.
Количество проживающих в домиках может различаться, поэтому, если разложить порции в машины поровну,
то еда в одной из машин может закончиться раньше и проживающим нужно будет дожидаться другую машину.
Напишите программу, которая поможет определить, сколько порций нужно загрузить в каждую машину,
чтобы раздача еды завершилась как можно быстрее.
Первая строка ввода содержит одно целое число `N` – количество домиков (`1\ ≤\ N\ ≤\ 10^5`).
Вторая строка ввода содержит `N` целых чисел в диапазоне от 0 до `10^4` – количество проживающих
в домиках слева направо.
Вывести два целых числа – количество порций, которые нужно загрузить в левую и в правую машину.
Если последняя порция может быть выдана как левой, так и правой машиной без увеличения
общей продолжительности раздачи еды, то её нужно погрузить в левую машину.
Пояснение к примеру:
Левая машина выдает 1 порцию еды в 1-м домике, проезжает ко 2-му домику, выдает 1 порцию еды,
проезжает ко 3-му домику и выдает там 3 порции, затрачивая на все действия 1+5+1+5+3=15 единиц времени.
Правая машина выдает 5 порций еды в 4-м домике, затем проезжает ко 3-му домику и выдает там 4 порции,
затрачивая на все действия 5+5+4=14 единиц времени.
Таким образом раздача еды завершается за 15 единиц времени.