EduBrick

I. Переворот

3000 мс · 64 МБ · всё или ничего

Дан массив. Нужно обрабатывать два вида запросов: развернуть отрезок [l,r][l, r] и найти минимум на отрезке [l,r][l, r].

Формат ввода

В первой строке nn и mm (1≤n,m≤1051 \le n, m \le 10^5). Во второй строке nn чисел aia_i (1≤ai≤1091 \le a_i \le 10^9).

В следующих mm строках запросы. Запрос 1 l r — развернуть отрезок. Запрос 2 l r — минимум на отрезке. Всюду 1≤l≤r≤n1 \le l \le r \le n.

Формат вывода

На каждый запрос второго вида выведите ответ в отдельной строке.

Примеры

ввод
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
вывод
3
2
2
2
ввод
1 3
1000000000
2 1 1
1 1 1
2 1 1
вывод
1000000000
1000000000
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.