Məsələlər
Переворот
Переворот
Дан массив. Нужно научиться обрабатывать два типа запросов:
\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} выведите ответ на него в отдельной строке.
Giriş verilənləri #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
Çıxış verilənləri #1
3 2 2 2
Şərh: Эту задачу нужно сдавать с помощью Splay Tree.