- Описание
- Отправленные решения
19. Встречи
Чтобы не мешать коллегам на рабочем месте громкими обсуждениями, ребята назначают встречи на определенное время и бронируют переговорки. При бронировании нужно указать дату и время встречи, её длительность и список участников. Если у кого-то из участников получается две встречи в один и тот же момент времени, то в бронировании будет отказано с указанием списка людей, у которых время встречи пересекается с другими встречами.
Вам необходимо реализовать прототип такой системы.
Формат ввода
В первой строке входного файла содержится одно число — число запросов.
В следующих строках содержатся запросы по одному в строке. Запросы бывают двух типов:
- APPOINT ...
- — номер дня в 2018 году ;
- — время встречи, строка в формате HH:MM ;
- — длительность встречи в минутах ;
- — число участников встречи ;
- , — имена участников — строки, состоящие из маленьких латинских букв .
У всех коллег уникальные имена. Кроме того гарантируется, что среди участников одной встречи ни одно имя не встречается дважды.
Формат вывода
Если удалось назначить встречу (первый тип запросов), выведите OK
.
Иначе выведите в первой строке FAIL
, а в следующей строке через пробел список имен участников, для которых время встречи пересекается с другими встречами, в том порядке, в котором имена были даны в запросе.
Для второго типа запросов выведите для данного дня и участника список всех событий на данный момент в этот день в хронологическом порядке, по одному в строке, в формате
где имена участников следуют в том же порядке, что и в исходном описании встречи. Если событий в данный день для этого человека нет, то ничего выводить не нужно.
Ограничения
Ограничение времени
1 с
Ограничение памяти
256 МБ
Пример 1
7
APPOINT 1 12:30 30 2 andrey alex
APPOINT 1 12:00 30 2 alex sergey
APPOINT 1 12:59 60 2 alex andrey
PRINT 1 alex
PRINT 1 andrey
PRINT 1 sergey
PRINT 2 alex
OK
OK
FAIL
alex andrey
12:00 30 alex sergey
12:30 30 andrey alex
12:30 30 andrey alex
12:00 30 alex sergey