Олимпиадный тренинг

Задача . E1. Медиана на подотрезках (редакция для перестановок)


Задача

Темы: сортировки *1800

Задана перестановка \(p_1, p_2, \dots, p_n\), то есть такой массив длины \(n\), что каждое число от \(1\) до \(n\) встречается в нём ровно один раз.

Найдите количество таких пар индексов \((l, r)\) (\(1 \le l \le r \le n\)), что медиана последовательности \(p_l, p_{l+1}, \dots, p_r\) равна заданному числу \(m\).

Медианой последовательности называется значение такого элемента, который находится в середине последовательности после её сортировки по неубыванию. Если последовательность имеет чётную длину, то имеется ввиду левый из двух средних элементов.

Например, если последовательность \(a=[4, 2, 7, 5]\), то её медиана равна \(4\), так как после сортировки последовательность примет вид \([2, 4, 5, 7]\) и левый из двух средних элементов равен \(4\). Медиана последовательности \([7, 1, 2, 9, 6]\) равна \(6\), так как после сортировки \(6\) будет находится в середине последовательности.

Напишите программу, которая найдет количество пар индексов \((l, r)\) (\(1 \le l \le r \le n\)), что медиана последовательности \(p_l, p_{l+1}, \dots, p_r\) равна заданному числу \(m\).

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

В первой строке записаны целые числа \(n\) и \(m\) (\(1 \le n \le 2\cdot10^5\), \(1 \le m \le n\)) — длина заданного массива и ожидаемое значение медианы.

Вторая строка содержит перестановку \(p_1, p_2, \dots, p_n\) (\(1 \le p_i \le n\)). Каждое из чисел от \(1\) до \(n\) встречается в \(p\) ровно один раз.

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

Выведите количество искомых пар индексов.

Примечание

В первом примере искомые пары индексов: \((1, 3)\), \((2, 2)\), \((2, 3)\) и \((2, 4)\).


Примеры
Входные данныеВыходные данные
1 5 4
2 4 5 3 1
4
2 5 5
1 2 3 4 5
1
3 15 8
1 15 2 14 3 13 4 8 12 5 11 6 10 7 9
48

time 3000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя