#1942. 「江北区编程比赛初赛第二场T3」中位数 暂未评定

时间限制:1000 ms 内存限制:128 MiB 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: root

题目描述

小明本周在学校学习了中位数的概念,如下所示:

中位数(Median)又称中值,统计学中的专有名词,是按顺序排列的一组数据中居于中间位置的数,其可将数值集合划分为相等的上下两部分。对于有限的数集,可以通过把所有数值从小到大排序后找出正中间的一个作为中位数。如果数值数量有偶数个,通常取最中间的两个数值的平均数作为中位数。

老师给小明布置了一道题目,这道题目难住了小明,他想请你来帮助他解决这个问题:

给定一个包含 个数字的序列 ,且该序列 不一定 是从小到大排序,现在想让该序列达到下面的状态:

  • 序列的数字总数为奇数个。
  • 序列中所有数字的中位数为

小明每次操作可以向序列中添加一个数字 的大小可以任意指定。

问题是最少需要次操作能够让序列达到题目要求的状态?

输入格式

第一行输入一个整数 ,表示初始时序列数字的数量。

第二行输入一个整数 ,表示目标的中位数值。

第三行输入 个空格分开整数,表示初始序列 的值。

输出格式

输出一行,包含一个整数,表示最少需要的操作次数。

样例

样例输入 1

4
3
6 4 7 1

样例输出 1

3

样例解释 1

初始时序排好序后为 ,数字总数为 个,不满足数字总数为奇数个条件。

可以给序列添加 ,操作次数为,排好序后序列变为 ,序列的中位数为 ,找不到更少的操作次数。

样例输入 2

5
8
-6 -7 8 9 10

样例输出 2

0

样例解释 2

初始时序排好序后为 ,数字总数为 个,中位数为 ,初始时已经满足题目所有条件,所以不需要任何操作。

数据范围与提示

表示 的决定值。