Олимпиадный тренинг

Задача . Пропуск в общежитие - 2


Задача

Темы: Словари

На входе в общежитие стоит турникет. Чтобы через него пройти, требуется приложить пропуск. Пропуск надо прикладывать и при входе в общежитие и при выходе из него. Для того, чтобы исключить несанкционированные проходы, пропуск не работает два раза подряд вход и два раза подряд на выход.

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

Начальник охраны решил разобраться с данной проблемой и сделать выговоры всем нарушителям. По каждому событию входа/выхода есть запись в журнале событий. Он считает нарушителями тех владельцев пропусков, у которых произошло три события вида выход-вход-выход менее чем за dt минут.

Вам дан журнал событий турникета. Требуется вывести список тех студентов, кому будет сделан выговор.

Входные данные

В первой строке задано два числа n и dt — число записей в журнале событий турникета и ограничение времени, выбранное начальником охраны, соответственно (1≤n≤1000, 3≤dt≤1440).

В следующих nn строках даны записи в журнале событий в хронологическом порядке. Запись в журнале состоит из трех частей, разделенных пробелом:

  • Время события в формате hh:mm
  • Фамилия студента, состоящая из не более чем 20 букв латинского алфавита, первая из которых заглавная.
  • Тип события: in, если произошел вход и out, если произошел выход.

 

Гарантируется, что не существует двух событий, которые происходят одновременно. Также гарантируется, что у любых двух разных студентов разные фамилии и у одного студента не бывает двух событий одного типа подряд.

Выходные данные

В первой строке выведите число нарушителей. После чего выведите фамилии нарушителей в лексикографическом порядке.
 

Примеры
Входные данные Выходные данные
1 6 10
01:23 Petrov in
01:24 Ivanov out
01:25 Petrov out
01:27 Ivanov in
01:32 Petrov in
01:33 Ivanov out
1
Ivanov
2 6 10
01:23 Petrov in
01:24 Ivanov out
01:25 Petrov out
01:27 Ivanov in
01:33 Petrov in
01:34 Ivanov out
0

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w641
Python9
Комментарий учителя