Codeforces Round 762 (Div. 3) |
---|
Закончено |
Дана перестановка $$$p$$$ из $$$n$$$ элементов. Перестановка из $$$n$$$ элементов — это массив длины $$$n$$$, в котором каждое целое число от $$$1$$$ до $$$n$$$ встречается ровно по одному разу. Например, $$$[1, 2, 3]$$$ и $$$[4, 3, 5, 1, 2]$$$ — это перестановки, но $$$[1, 2, 4]$$$ и $$$[4, 3, 2, 1, 2]$$$ — это не перестановки. Вам нужно выполнить $$$q$$$ запросов.
Есть два типа запросов:
В первой строке находятся два целых числа $$$n$$$ и $$$q$$$ ($$$1 \le n, q \le 10^5$$$).
Во второй строке находятся $$$n$$$ целых чисел $$$p_1, p_2, \dots, p_n$$$.
В каждой из следующих $$$q$$$ строк находится по три целых числа. Первое число $$$t$$$ ($$$1 \le t \le 2$$$) – тип запроса. Если $$$t = 1$$$, то следующие два целых числа — это $$$x$$$ и $$$y$$$ ($$$1 \le x, y \le n$$$; $$$x \ne y$$$) — запрос первого типа. Если $$$t = 2$$$, то следующие два целых числа — это $$$i$$$ и $$$k$$$ ($$$1 \le i, k \le n$$$) — запрос второго типа.
Гарантируется, что есть хотя бы один запрос второго типа.
Для каждого запроса второго типа выведите одно целое число в новой строке — ответ на этот запрос.
5 4 5 3 4 2 1 2 3 1 2 1 2 1 1 3 2 1 2
4 1 2
5 9 2 3 5 1 4 2 3 5 2 5 5 2 5 1 2 5 3 2 5 4 1 5 4 2 5 3 2 2 5 2 5 1
3 5 4 2 3 3 3 1
В первом примере $$$p = \{5, 3, 4, 2, 1\}$$$.
Первый запрос — вывести $$$p_3$$$. Ответ — $$$4$$$.
Второй запрос — вывести $$$p_{p_1}$$$. Ответ — $$$1$$$.
Третий запрос — поменять местами $$$p_1$$$ и $$$p_3$$$. Теперь $$$p = \{4, 3, 5, 2, 1\}$$$.
Четвёртый запрос — вывести $$$p_{p_1}$$$. Ответ — $$$2$$$.
Название |
---|