题目描述
FarmerJohn已经将他的 N(1<=N<=100,000)头奶牛排成一排来测量它们的高度;牛 i的高度为 Hi(1<=Hi<=1,000,000,000)纳米−−FJ相信精确测量!他 想为奶牛的一些连续子序列拍张照片,以提交给县集市上的牛摄影比赛。
展会对所有提交的照片有一个非常奇怪的规则:一张照片只有在描绘了一组中位高度至少为某个阈值 X(1<=X<=1,000,000,000)的奶牛时才有效。
出于这个问题的目的,我们在 A排序后将数组 A[0...K]的中值定义为 A[ceiling(K/2)],其中上限 (K/2)将 K/2向上取整到最接近的整数(或 K/2本身, 它 K/2是开头的整数)。例如 7,3,2,6的中位数为 6,5,4,8的中位数为 5。
请帮助 FJ计算他可能提交给摄影比赛的奶牛的不同连续子序列的数量。
给出一串数字,问中位数大于等于X的连续子串有几个。(这里如果有偶数个数,定义为偏大的那一个而非中间取平均)
输入格式
第 1行:两个空格分隔的整数:N和 X。
第 2..N+1行:第 i+1行包含单个整数 Hi。
输出格式
第 1行:中位数至少为 X的 FJ奶牛的子序列数。请注意,这可能不适合 32位整数。
样例
输入样例
4 6
10
5
6
2
输出样例
7
提示
FJ的四头奶牛的身高分别为 10、5、6、2。我们想知道有多少连续子序列的中位数至少为 6。
有 10个可能的连续子序列需要考虑。其中,只有 7个的中位数至少为 6。它们是 {10},{6},{10,5},{5,6},{6,2},{10,5,6},{10,5,6,2}。