某数据分析部门正在对一条数据序列进行研究。该序列由 N 个数据点组成,第 i 个数据点的数值为 A_i。
为了进行统计分析,研究人员希望从这条序列中选取若干个 连续区段 进行评估。每个区段都会计算一个代表性指标——中位数,并与给定的标准值 X 进行比较。
本题中,中位数的定义如下:
例如:
现在,研究人员给定一个阈值 X,希望统计:在所有连续区段中,中位数大于等于 X 的区段共有多少个。
请你编程完成这一统计任务。
第一行包含两个整数 N, X,分别表示数据点个数和判定阈值。
接下来 N 行,每行一个整数,第 i 行表示第 i 个数据点的数值 A_i。
输出一个整数,表示中位数大于等于 X 的连续区段数量。
4 6 10 5 6 2
7
8 5 3 7 4 6 2 8 1 5
26
16 5 1 6 2 7 3 8 4 9 10 5 11 4 12 3 13 2
120
给定的数据序列为:10, 5, 6, 2。
所有可能的连续区段共有 10 个,其中中位数不少于 6 的区段有 7 个,分别为:[10]、[6]、[10, 5]、[5, 6]、[6, 2]、[10, 5, 6]、[10, 5, 6, 2]。
对于 40\% 的数据,满足 1 \le N \le 100。
对于 50\% 的数据,满足 1 \le N \le 1000。
对于 100\% 的数据,满足 1 \le N \le 10^5,1 \le A_i, X \le 10^9。