#2050. Above the Median

Above the Median

题目描述

FarmerJohn\red{Farmer John }已经将他的 N(1<=N<=100,000)\red{N (1 <= N <= 100,000) }头奶牛排成一排来测量它们的高度;牛 i\red{i }的高度为 Hi(1<=Hi<=1,000,000,000)\red{H_i (1 <= H_i <= 1,000,000,000) }纳米FJ\red{--FJ }相信精确测量!他 想为奶牛的一些连续子序列拍张照片,以提交给县集市上的牛摄影比赛。

展会对所有提交的照片有一个非常奇怪的规则:一张照片只有在描绘了一组中位高度至少为某个阈值 X(1<=X<=1,000,000,000)\red{X (1 <= X <= 1,000,000,000) }的奶牛时才有效。

出于这个问题的目的,我们在 A\red{A }排序后将数组 A[0...K]\red{A[0...K] }的中值定义为 A[ceiling(K/2)]\red{A[ceiling(K/2)],}其中上限 (K/2)\red{(K/2) }K/2\red{K/2 }向上取整到最接近的整数(或 K/2\red{K/2 }本身, 它 K/2\red{K/2 }是开头的整数)。例如 7,3,2,6\red{{7, 3, 2, 6} }的中位数为 6\red{6,}5,4,8\red{{5, 4, 8} }的中位数为 5\red{5}

请帮助 FJ\red{FJ }计算他可能提交给摄影比赛的奶牛的不同连续子序列的数量。

给出一串数字,问中位数大于等于X\red{X}的连续子串有几个。(这里如果有偶数个数,定义为偏大的那一个而非中间取平均)

输入格式

1\red{1 }行:两个空格分隔的整数:N\red{N }X\red{X}

2..N+1\red{2..N+1 }行:第 i+1\red{i+1 }行包含单个整数 Hi\red{H_i}

输出格式

1\red{1 }行:中位数至少为 X\red{X }FJ\red{FJ }奶牛的子序列数。请注意,这可能不适合 32\red{32 }位整数。

样例

输入样例

4 6 
10 
5 
6 
2

输出样例

7

提示

FJ\red{FJ }的四头奶牛的身高分别为 10\red{10}5\red{5}6\red{6}2\red{2}。我们想知道有多少连续子序列的中位数至少为 6\red{6}

10\red{10 }个可能的连续子序列需要考虑。其中,只有 7\red{7 }个的中位数至少为 6\red{6}。它们是 {10},{6},{10,5},{5,6},{6,2},{10,5,6},{10,5,\red{\{10\},\{6\}, \{10, 5\}, \{5, 6\}, \{6, 2\}, \{10, 5, 6\}, \{10, 5,}6\red{6},2}\red{,2\}}