Задача №115212. Камни

Перед Бобом выложены в ряд \(n\) черных камней, пронумерованных от 1 до \(n\). На \(i\)-м камне записано целое число \(a_i\). Для каждого числа от \(1\) до \(n\) известно, что оно записано ровно на одном камне, иными словами числа \(a_i\) образуют перестановку. Будем называть соседними для \(i\)-го камня \((i-1)\)-й и \((i+1)\)-й камни (если они существуют).

Боб выполняет следующие \(n\) шагов:

  • На первом шаге Боб выбирает произвольное \(i\) от 1 до \(n\) и красит \(i\)-й камень в белый цвет.
  • На шагах с номерами от \(2\) до \(n\) Боб смотрит на такие черные камни, которые являются соседними для хотя бы одного белого камня, из них он выбирает камень \(j\) с минимальным \(a_j\) и красит его в белый цвет.

Несложно заметить, что к концу выполнения всех шагов перед Бобом будут лежать \(n\) белых камней.

Алиса выбрала \(q\) пар значений \(p_j\) и \(k_j\). Для каждой пары она хочет выяснить, сколько существует различных способов выбрать камень на первом шаге, которые приведут к тому, что камень с номером \(p_j\) станет белым ровно на \(k_j\)-м шаге.

Помогите Бобу ответить на \(q\) запросов Алисы.

Входные данные

На первой строке заданы числа \(n\) — количество камней (\(2 \le n \le 10^5\)) и \(q\) — количество запросов (\(1 \le q \le 10^5\)).

На второй строке заданы записанные на камнях целые числа \(a_1, a_2, \ldots, a_n\) (\(1 \le a_i \le n\), все \(a_i\) различны).

На следующих \(q\) строках заданы запросы, \(j\)-й запрос задается парой целых чисел \(p_j\) и \(k_j\) (\(1 \leq p_j \leq n\), \(1 \leq k_j \leq n\)) — номером камня и номером шага, на котором этот камень должен быть покрашен в белый цвет.

Выходные данные

Для каждого запроса выведите количество значений \(i\), таких что если \(i\)-й камень будет покрашен в белый цвет на первом шаге, то \(p_j\)-й камень покрасится в белый цвет на \(k_j\)-м шаге.

Система оценки

Баллы за каждую подзадачу начисляются только в случае, если все тесты для этой подзадачи и необходимых подзадач успешно пройдены.

Подзадача Баллы Дополнительные ограничения Необходимые подзадачи Информация о проверке
1 20 \(n \le 300, q \le 300\) первая ошибка
2 17 \(n \le 3000\) 1 первая ошибка
3 12 \(n \le 50000, q \le 10\) первая ошибка
4 6 значения \(a_i\) возрастают первая ошибка
5 16 все значения \(k_i\) одинаковые первая ошибка
6 15 все значения \(p_i\) одинаковые первая ошибка
7 14 нет 1–6 первая ошибка

Примечание

В первом тестовом примере операции выполняются следующим образом:

  • Если на первом шаге был выбран \(1\)-й камень: \(1\)-й шаг: \([\textbf{1}, 4, 6, 5, 2, 3]\), \(2\)-й шаг: \([\textbf{1, 4}, 6, 5, 2, 3]\), \(3\)-й шаг: \([\textbf{1, 4, 6}, 5, 2, 3]\), \(4\)-й шаг: \([\textbf{1, 4, 6, 5}, 2, 3]\), \(5\)-й шаг: \([\textbf{1, 4, 6, 5, 2}, 3]\), \(6\)-й шаг: \([\textbf{1, 4, 6, 5, 2, 3}]\).

  • Если на первом шаге был выбран \(2\)-й камень: \(1\)-й шаг: \([1, \textbf{4}, 6, 5, 2, 3]\), \(2\)-й шаг: \([\textbf{1, 4}, 6, 5, 2, 3]\), \(3\)-й шаг: \([\textbf{1, 4, 6}, 5, 2, 3]\), \(4\)-й шаг: \([\textbf{1, 4, 6, 5}, 2, 3]\), \(5\)-й шаг: \([\textbf{1, 4, 6, 5, 2}, 3]\), \(6\)-й шаг: \([\textbf{1, 4, 6, 5, 2, 3}]\).

  • Если на первом шаге был выбран \(3\)-й камень: \(1\)-й шаг: \([1, 4, \textbf{6}, 5, 2, 3]\), \(2\)-й шаг: \([1, \textbf{4, 6}, 5, 2, 3]\), \(3\)-й шаг: \([\textbf{1, 4, 6}, 5, 2, 3]\), \(4\)-й шаг: \([\textbf{1, 4, 6, 5}, 2, 3]\), \(5\)-й шаг: \([\textbf{1, 4, 6, 5, 2}, 3]\), \(6\)-й шаг: \([\textbf{1, 4, 6, 5, 2, 3}]\).

  • Если на первом шаге был выбран \(4\)-й камень: \(1\)-й шаг: \([1, 4, 6, \textbf{5}, 2, 3]\), \(2\)-й шаг: \([1, 4, 6, \textbf{5, 2}, 3]\), \(3\)-й шаг: \([1, 4, 6, \textbf{5, 2, 3}]\), \(4\)-й шаг: \([1, 4, \textbf{6, 5, 2, 3}]\), \(5\)-й шаг: \([1, \textbf{4, 6, 5, 2, 3}]\), \(6\)-й шаг: \([\textbf{1, 4, 6, 5, 2, 3}]\).

  • Если на первом шаге был выбран \(5\)-й камень: \(1\)-й шаг: \([1, 4, 6, 5, \textbf{2}, 3]\), \(2\)-й шаг: \([1, 4, 6, 5, \textbf{2, 3}]\), \(3\)-й шаг: \([1, 4, 6, \textbf{5, 2, 3}]\), \(4\)-й шаг: \([1, 4, \textbf{6, 5, 2, 3}]\), \(5\)-й шаг: \([1, \textbf{4, 6, 5, 2, 3}]\), \(6\)-й шаг: \([\textbf{1, 4, 6, 5, 2, 3}]\).

  • Если на первом шаге был выбран \(6\)-й камень: \(1\)-й шаг: \([1, 4, 6, 5, 2, \textbf{3}]\), \(2\)-й шаг: \([1, 4, 6, 5, \textbf{2, 3}]\), \(3\)-й шаг: \([1, 4, 6, \textbf{5, 2, 3}]\), \(4\)-й шаг: \([1, 4, \textbf{6, 5, 2, 3}]\), \(5\)-й шаг: \([1, \textbf{4, 6, 5, 2, 3}]\), \(6\)-й шаг: \([\textbf{1, 4, 6, 5, 2, 3}]\).
Примеры
Входные данные
6 4
1 4 6 5 2 3
3 1
2 2
6 3
4 3
Выходные данные
1
2
1
2
Входные данные
5 3
5 2 3 4 1
2 3
4 4
3 2
Выходные данные
0
1
1
Сдать: для сдачи задач необходимо войти в систему