Farmer John 将他的 N 头奶牛排成了一排,以测量它们的身高;第 i 头奶牛的身高为 Hi 纳米——FJ 相信测量是精确的。他想对其中连续的几段奶牛拍照片,并使用这些照片参加县集会上的奶牛摄影比赛。
对于所有提交的照片,集会都有一个奇怪的规定:一张照片有效,当且仅当照片中的这些奶牛身高的中间值至少为 X。
为简化题意,我们定义一个序列 A0…K 的中间值为将序列 A 排序后的 A⌈2K⌉,其中 ⌈2K⌉ 表示 2K 向上取整。例如,序列 {7,3,2,6} 的中间值为 6,序列 {5,4,8} 的中间值为 5。
请帮助 FJ 算出他可以在他的这排奶牛拍出多少张不同的照片用于参加奶牛摄影比赛。
- 1⩽N⩽100,000
- 1⩽Hi⩽1,000,000,000
- 1⩽X⩽1,000,000,000
输入格式
- 第 1 行:两个用空格隔开的整数:N 和 X。
- 第 2..N+1 行:第 i+1 行包含一个单独的整数 Hi。
输出格式
- 第 1 行:在 FJ 的这排奶牛中符合身高中间值不小于 X 的子段数量。注意答案可能超过 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}。