- Описание
- Отправленные решения
43. Кольцевая линия
Машинист Пётр управляет составом на кольцевой линии Омского метрополитена, станции которой пронумерованы по часовой стрелке от 1 до 10. В Омском метрополитене строго придерживаются расписания, и каждый день состав начинает движение со станции ровно в 5:00 и заканчивает на станции ровно в 23:30.
В метрополитене ходит всего один-единственный поезд. Это значит, что он посещает станции последовательно: сначала станцию , потом станцию , затем станцию , , станцию , а потом опять станцию и так далее, пока не наступит 23:30 (в 23:30 поезд прибывает на -ю станцию и больше в этот день никуда не едет). Движение поезда неравномерное, но переезд с одной станции на другую занимает не менее одной минуты. Временем остановки следует пренебречь.
Однажды Петру захотелось узнать, сколько в среднем людей одновременно находилось в его составе в течение дня. Он вычисляет эту величину так.
Рассмотрим все перегоны между соседними станциями, и зададим каждый из них пятью числами: ,
Тогда среднее количество одновременно находившихся в составе людей вычисляется так
Вам дан лог событий вида (pid, action, station_num, time)
, означающих, что пассажир с номером pid
в момент времени time
на станции station_num
либо вошел в состав (action
= 'in'
), либо вышел из него (action
= 'out'
).
Пожалуйста, помогите Петру найти интересующее его значение.
Формат ввода
Во входных данных содержатся строки лога.
Каждая строка файла содержит 4 значения, разделенных пробелами: целое число pid
( pid
) — идентификатор пассажира, строку action
(action
{'in'
, 'out'
}) — тип действия пассажира, целое число station_num
(station_num
) — номер станции, на которой было совершено действие, строку time
в формате hh:mm
— время совершения действия. Лог содержит не более, чем записей.
Гарантируется, что все события внутри лога корректны, то есть к концу маршрута все пассажиры выйдут из поезда, и никакой пассажир не может зайти в поезд, если уже в нем (выйти из поезда, если уже не в нем), никакой пассажир не выполняет два действия в один момент времени.
Записи в логе перечислены в произвольном порядке.
Формат вывода
Выведите одно число — среднее количество одновременно находившихся в составе людей с абсолютной и относительной точностью не менее .
Ограничения
Ограничение времени
3 с
Ограничение памяти
256 МБ
Пример 1
3 in 1 05:00
5 in 1 05:00
5 out 2 05:05
6 in 2 05:05
7 in 3 05:12
1 in 4 05:22
2 in 5 05:32
4 in 6 05:42
3 out 6 05:42
6 out 6 05:42
7 out 6 05:42
1 out 6 05:42
10 in 7 06:00
11 in 8 12:00
3 in 9 16:00
10 out 9 16:00
11 out 9 16:00
2 out 9 16:00
4 out 9 16:00
3 out 10 23:30
2.405405405405
Пример 2
0 in 1 05:00
0 out 10 23:30
1.000000000000
Пример 3
0 in 3 08:04
0 out 6 12:36
0 in 9 16:01
0 out 10 16:02
0.245945945946
Пример 4
0 in 1 05:30
1 in 2 05:40
0 out 10 06:30
1 out 10 07:30
0.153153153153
Пример 5
0 out 6 12:36
0 in 3 08:04
0.245045045045