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

Задача . E. Никита и порядковая статистика


Никита очень любит задачи на порядковую статистику. В частности, он легко сможет найти \(k\)-е в порядке возрастания число на отрезке массива. Однако сейчас он задумался: а сколько существует отрезков данного массива таких, что данное число \(x\)\(k\)-е по возрастанию на данном отрезке? Иными словами, вам нужно посчитать количество подотрезков данного массива, содержащих ровно \(k\) чисел, меньших чем \(x\).

Никиту интересует ответ на данный вопрос для всех \(k\) от \(0\) до \(n\), где \(n\) — длина массива.

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

В первой строке даны два целых числа \(n\) и \(x\) \((1 \le n \le 2 \cdot 10^5, -10^9 \le x \le 10^9)\).

В следующей строке записано \(n\) целых чисел \(a_1, a_2, \ldots, a_n\) \((-10^9 \le a_i \le 10^9)\) — данный массив.

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

Выведите \(n+1\) число, где \(i\)-е число — ответ на вопрос Никиты для \(k=i-1\).


Примеры
Входные данныеВыходные данные
1 5 3
1 2 3 4 5
6 5 4 0 0 0
2 2 6
-5 9
1 2 0
3 6 99
-1 -1 -1 -1 -1 -1
0 6 5 4 3 2 1

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

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