P3031 [USACO11NOV] Above the Median G

题目描述

Farmer John(FJ)将他的 $N(1\le N\le 10^5)$ 头奶牛排成一排来测量它们的身高。第 $i$ 头奶牛的身高为 $H_i(1\le H_i\le 10^9)$ 纳米——FJ 追求精确的测量!他想拍摄一段奶牛组成的连续子序列的照片,提交给县集市举办的牛类摄影比赛。 这个比赛有一个非常奇怪的规定:只有当照片中的奶牛身高的中位数达到 $X(1\le X\le 10^9)$ 时,这张照片才允许提交。 在本题中,我们定义序列 $A_{0\dots K}$ 的中位数为将其排序后 $A_{\lceil\frac{K}{2}\rceil}$ 的值,其中 $\lceil\frac{K}{2}\rceil$ 表示将 $\frac{K}{2}$ 向上取整到最近的整数(如果 $\frac{K}{2}$ 已经是整数,则它保持不变)。 例如,序列 $\{7,3,2,6\}$ 的中位数是 $6$,而序列 $\{5,4,8\}$ 的中位数是 $5$。 请帮助 FJ 计算他可以提交给摄影比赛的不同的连续子序列的数量。

输入格式

第一行包含两个用空格隔开的正整数 $N,X$。 第二到第 $N+1$ 行每行一个正整数,第 $i+1$ 行的正整数表示 $H_i$。

输出格式

输出一行一个正整数,表示 FJ 的奶牛中,中位数至少为 $X$ 的连续子序列的数量。注意这个数值可能无法用 32 位整数存储。

说明/提示

### 样例解释 FJ 的四头奶牛身高分别为 $10,5,6,2$。我们想知道有多少个连续子序列的中位数至少为 $6$。 总共有 10 个可能的连续子序列。其中只有 $7$ 个的中位数大于等于 $6$。它们分别是 $\{10\},\{6\},\{10,5\},\{5, 6\},\{6,2\},\{10,5,6\},\{10,5,6,2\}$。