N. Обмен участками
3000 мс · 256 МБ · всё или ничего
Дан массив. Обрабатывайте запросы двух видов:
1 l1 r1 l2 r2— поменять местами содержимое двух непересекающихся отрезков одинаковой длины (, );2 p— вывести три числа: элементы на позициях , , . Если позиция выходит за границы массива, вместо элемента выведите .
Формат ввода
В первой строке — числа и (). Во второй — чисел (). Далее запросов в описанном формате.
Формат вывода
На каждый запрос второго вида выведите три числа в одной строке.
Примеры
ввод
6 4 1 2 3 4 5 6 2 1 1 1 2 5 6 2 1 2 5
вывод
1 2 3 5 6 3 1 2 -1
ввод
1 1 7 2 1
вывод
7 -1 -1
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.