43. Кольцевая линия

Не решаласьЛёгкая

Машинист Пётр управляет составом на кольцевой линии Омского метрополитена, станции которой пронумерованы по часовой стрелке от 1 до 10. В Омском метрополитене строго придерживаются расписания, и каждый день состав начинает движение со станции 11 ровно в 5:00 и заканчивает на станции 1010 ровно в 23:30.

В метрополитене ходит всего один-единственный поезд. Это значит, что он посещает станции последовательно: сначала станцию 11, потом станцию 22, затем станцию 33, \ldots, станцию 1010, а потом опять станцию 11 и так далее, пока не наступит 23:30 (в 23:30 поезд прибывает на 1010-ю станцию и больше в этот день никуда не едет). Движение поезда неравномерное, но переезд с одной станции на другую занимает не менее одной минуты. Временем остановки следует пренебречь.

Однажды Петру захотелось узнать, сколько в среднем людей одновременно находилось в его составе в течение дня. Он вычисляет эту величину так.

Рассмотрим все перегоны spanspan между соседними станциями, и зададим каждый из них пятью числами: (station_from,station_to,time_from,time_to,passengers)(station\_{from}, station\_{to}, time\_{from}, time\_{to}, passengers), stationto=(stationfrom(mod10))+1.station_{to} = (station_{from} \pmod{10}) + 1.

Тогда среднее количество одновременно находившихся в составе людей вычисляется так _span(time_to  time_from)  passengers_span(time_to  time_from)\dfrac{\sum\_{span}{(time\_{to} ~-~ time\_{from}) ~\cdot~ passengers}}{\sum\_{span}{(time\_{to} ~-~ time\_{from})}}

Вам дан лог событий вида (pid, action, station_num, time), означающих, что пассажир с номером pid в момент времени time на станции station_num либо вошел в состав (action = 'in'), либо вышел из него (action = 'out').

Пожалуйста, помогите Петру найти интересующее его значение.

Формат ввода

Во входных данных содержатся строки лога.

Каждая строка файла содержит 4 значения, разделенных пробелами: целое число pid (00 \leq pid <1000000\lt 1\,000\,000) — идентификатор пассажира, строку action (action \in {'in', 'out'}) — тип действия пассажира, целое число station_num (11 \leq station_num10 \leq 10) — номер станции, на которой было совершено действие, строку time в формате hh:mm — время совершения действия. Лог содержит не более, чем 300000300\,000 записей.

Гарантируется, что все события внутри лога корректны, то есть к концу маршрута все пассажиры выйдут из поезда, и никакой пассажир не может зайти в поезд, если уже в нем (выйти из поезда, если уже не в нем), никакой пассажир не выполняет два действия в один момент времени.

Записи в логе перечислены в произвольном порядке.

Формат вывода

Выведите одно число — среднее количество одновременно находившихся в составе людей с абсолютной и относительной точностью не менее 10410^{-4}.

Ограничения

Ограничение времени

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

Теги

Нужно войти, чтобы отправить решение.Войти