Codeforces Round 569 (Div. 1) |
---|
Закончено |
Недавно на курсе по алгоритмам и структурам данных Валера научился пользоваться деком. Он построил дек, заполненный $$$n$$$ элементами. $$$i$$$-й элемент равен $$$a_i$$$ ($$$i$$$ = $$$1, 2, \ldots, n$$$). Он последовательно берет из дека два первых (то есть крайних слева) элемента (назовем их $$$A$$$ и $$$B$$$ соответственно) и делает следующее: если $$$A > B$$$, то он $$$A$$$ записывает в начало, а $$$B$$$ записывает в конец дека, иначе он записывает в начало $$$B$$$, а $$$A$$$ записывает в конец дека. Назовем эту последовательность действий операцией.
Например если дек был $$$[2, 3, 4, 5, 1]$$$, после операции он запишет $$$B=3$$$ в начало и $$$A=2$$$ в конец, таким образом он получит $$$[3, 4, 5, 1, 2]$$$.
Преподаватель курса, увидев увлеченного своим делом Валеру, подошел к нему и задал ему $$$q$$$ вопросов. Каждый вопрос состоит из единственного числа $$$m_j$$$ $$$(j = 1, 2, \ldots, q)$$$. Требуется для каждого вопроса ответить какие два элемента он вытащит на $$$m_j$$$-й операции.
Обратите внимание, что запросы независимы, а числа $$$A$$$ и $$$B$$$ для каждого из запросов нужно вывести в том порядке, в котором они будут вытащены из дека.
Дек — структура данных, представляющая из себя список элементов, в которой добавление новых элементов и удаление существующих производится с обоих концов.
Первая строка содержит два целых числа $$$n$$$ и $$$q$$$ ($$$2 \leq n \leq 10^5$$$, $$$0 \leq q \leq 3 \cdot 10^5$$$) — количество элементов в деке и количество вопросов преподавателя соответственно. Вторая строка содержит $$$n$$$ целых чисел $$$a_1$$$, $$$a_2$$$, ..., $$$a_n$$$, где $$$a_i$$$ $$$(0 \leq a_i \leq 10^9)$$$ — элемент дека в $$$i$$$-й позиции. Следующие $$$q$$$ строк содержат по одному числу, обозначающее $$$m_j$$$ ($$$1 \leq m_j \leq 10^{18}$$$).
Для каждого вопроса преподавателя выведите два числа $$$A$$$ и $$$B$$$ — числа, которые вытащит Валера из дека на $$$m_j$$$-й операции.
5 3 1 2 3 4 5 1 2 10
1 2 2 3 5 2
2 0 0 0
Значит, $$$2$$$ мы запишем в начало дека, а $$$1$$$ — в конец.
Получим следующее состояние дека: $$$[2, 3, 4, 5, 1]$$$.
Название |
---|