Codeforces Round 515 (Div. 3) |
---|
Закончено |
У вас есть полка и вы хотите положить на нее книги.
Вам задано $$$q$$$ запросов трех типов:
Можете считать, что первая книга, которую вы положите на полку, может иметь любую позицию (это неважно) и запросы типа $$$3$$$ всегда являются корректными (гарантируется, что книга в каждом таком запросе уже положена на полку). Также можете считать, что вы не кладете одну и ту же книгу на полку дважды, таким образом $$$id$$$ не повторяются в запросах первых двух типов.
Ваша задача — ответить на все запросы типа $$$3$$$ в порядке их появления во входных данных.
Заметьте, что после ответа на запрос типа $$$3$$$ все книги остаются на полке и их относительный порядок не меняется.
Если вы программируете на Python, рассмотрите возможность отправки решения на PyPy, а не на Python, когда будете посылать свой код.
Первая строка входных данных содержит одно целое число $$$q$$$ ($$$1 \le q \le 2 \cdot 10^5$$$) — количество запросов.
Далее следуют $$$q$$$ строк. $$$i$$$-я строка содержит $$$i$$$-й запрос в таком же формате, как и в условии задачи. Гарантируется, что все запросы корректны (для запроса типа $$$3$$$ гарантируется, что книга в каждом таком запросе уже положена на полку, а для других типов гарантируется, что книга не была положена ранее).
Гарантируется, что во входных данных есть хотя бы один запрос типа $$$3$$$.
Для каждого запроса выполняется ограничение $$$1 \le id \le 2 \cdot 10^5$$$.
Выведите ответы на запросы типа $$$3$$$ в порядке их появления во входных данных.
8
L 1
R 2
R 3
? 2
L 4
? 1
L 5
? 1
1
1
2
10
L 100
R 100000
R 123
L 101
? 123
L 10
R 115
? 100
R 110
? 115
0
2
1
Посмотрим на первый тестовый пример и рассмотрим запросы:
Посмотрим на второй тестовый пример и рассмотрим запросы:
Название |
---|