Контест Middle Контейнеры STL изнутри обновлено
Бронирование переговорки на std::map
Условие
Система бронирования одной переговорки. Бронь это полуинтервал времени [s, e). Команды:
book s e: если интервал не пересекается ни с одной действующей бронью, добавить его и вывестиOK, иначеBUSY(касание концами допустимо);cancel s: отменить действующую бронь, начинающуюся ровно вs, и вывестиCANCELLED, илиNOT FOUND, если такой нет.
Ввод: q (1 ≤ q ≤ 2000), затем q команд. 0 ≤ s < e ≤ 10⁹.
Вывод: ответ на каждую команду.
Пример 1
Ввод:
5
book 10 20
book 15 25
book 20 30
cancel 10
book 5 15
Вывод:
OK
BUSY
OK
CANCELLED
OK
Пример 2
Ввод:
3
cancel 0
book 0 1
book 0 1
Вывод:
NOT FOUND
OK
BUSY
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.