ЗАДАЧИ
problems.ru
О проекте | Об авторах | Справочник
Каталог по темам | по источникам |
К задаче N

Проект МЦНМО
при участии
школы 57
Задача 64153
Темы:    [ Вложенные циклы ]
[ Задачи на полный перебор ]
Сложность: 2
Классы: 8
В корзину
Прислать комментарий

Условие

Задача "Троллейбусы"

Троллейбусы одного маршрута проходят через остановку
каждые k (1<=k<=500) минут. Известны времена прихода пассажиров
на эту остановку. Если пассажир приходит на остановку в
момент прихода троллейбуса, то он успевает уехать на нем.

Напишите программу, которая бы определяла, во сколько должен пройти
первый троллейбус (это время от 0 до k-1), чтобы:
1) Суммарное время ожидания троллейбуса для всех пассажиров было минимально.
2) Максимальное из времен ожидания троллейбуса было минимально.

Входные данные
Во входном файле INPUT.TXT записано сначала число k, затем - число N
(0<=N<=100000). Затем идет N чисел, задающих времена прихода пассажиров
на остановку. Каждое из этих чисел - целое от 0 до 100000.

Выходные данные
В выходной файл OUTPUT.TXT запишите два числа,
являющиеся ответами на первый и второй вопросы задачи соответственно.
Если решений несколько, выведите любое из них.

Пример файла INPUT.TXT	
100 5
0 210 99 551 99	

Пример файла OUTPUT.TXT
10
51

Подсказка

Задача с Кировской областной олимпиады. Задача очень непростая. Идея заключается в том, что времена прихода людей на остановку нас интересуют только по модулю k. Нужно посчитать, сколько человек приходит на остановку в каждый (по mod k) момент времени, а затем перебрать и найти оптимальное время для троллейбуса.


Решение

Скачать архив тестов

Источники и прецеденты использования

Курс
предмет информатика
Название Основы программирования на языке Паскаль
Класс 8
Автор Матюхин Виктор Александрович
Место проведения Московская гимназия на Юго-Западе N1543
задача
Номер 132

© 2004-... МЦНМО (о копирайте)
Пишите нам

Проект осуществляется при поддержке Департамента образования г.Москвы и ФЦП "Кадры" .