近期发现部分用户尝试利用判题系统的评测信息进行作弊,严重破坏了公平竞争的环境。为维护良好的交流与学习氛围,已对判题机进行了优化,当程序遇到测试点不通过时会立即返回而不评测更多测试点;并且延长提交间隔为60秒。作弊行为不仅违背了学习的初衷,还侵害了其他用户的公平权益,希望所有用户能够遵守规范,专注算法与思维能力的提升。对于恶意多次尝试的用户,我们将保留进一步处置的权利。 —— Administrator

100540 - 不小于中位数

一个长度为n的数组,将其拆分为若干个,每个的中位数都不小于m。最多可以拆分成多少个?

规定:

\;\;\;\;中位数:若将m个数字升序排列,则其中位于(m+1)/2处的数字为中位数。

输入

1行两个整数n,m, 第2n个整数a_i

对于100%的数据:

1 \le n \le 10^5

1 \le m \le 10^9

1 \le a_i \le 10^9

输出

一个整数,表示最多可以分为多少个(新数组的元素在原数组中可以不相邻),无法满足条件的输出-1。

样例

输入

5 4
10 3 2 3 2

输出

-1

输入

5 3
5 2 3 3 2

输出

1

输入

5 2
10 3 2 3 2

输出

5
时间限制 1000 毫秒
内存限制 128 MB
统计
上一题 下一题