eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Переворот

Переворот

Дан массив. Нужно научиться обрабатывать два типа запросов: \begin{itemize} \item \textbf{1 L R} - перевернуть отрезок \textbf{\[L, R\]}; \item \textbf{2 L R} - найти минимум на отрезке \textbf{\[L, R\]}. \end{itemize} \InputFile Первая строка входного файла содержит два числа \textbf{n}, \textbf{m} (\textbf{1} ≤ \textbf{n}, \textbf{m} ≤ \textbf{10^5}). Во второй строке находится \textbf{n} чисел \textbf{a_i}(\textbf{1} ≤ \textbf{a_i} ≤ \textbf{10^9}) - исходный массив. Остальные \textbf{m} строк содержат запросы, в формате, описанном выше. Для чисел \textbf{L},\textbf{R }выполняется ограничение (\textbf{1} ≤ \textbf{L}, \textbf{R} ≤ \textbf{n}). \OutputFile На каждый запрос типа \textbf{2} выведите ответ на него в отдельной строке.
Лимит времени 2 секунды
Лимит использования памяти 64 MiB
Входные данные #1
10 7
5 3 2 3 12 6 7 5 10 12
2 4 9
1 4 6
2 1 8
1 1 8
1 8 9
2 1 7
2 3 6
Выходные данные #1
3
2
2
2

Объяснение: Эту задачу нужно сдавать с помощью Splay Tree.