今天的数学课上,小 A 老师给同学们讲解了中位数的概念。
中位数(Median)又称中值,是统计学中的专有名词,是按顺序排列的一组数据中居于中间位置的数。
例如,有 5 个数排序后的结果为 3 4 6 7 8,最中间位置的数是 6,因此中位数为 6。
再比如,有 7 个数排序后的结果为 2 5 7 7 9 10 12,最中间的数是 7 ,因此中位数为 7。
课程结束后,老师给大家留一个题目:给定 N 个正整数构成的数组,要求同学们在数组中补充最少的数字,使得数组中的数字总量为奇数,且正整数 X 成为这组数的中位数。
请你编程根据读入的数据,帮助小 A 老师算出问题的答案,方便小 A 老师批改大家的作业。
第 1 行输入正整数 N。
第 2 行输入 N 个正整数。
第 3 行输入正整数 X。
输出为了满足本题的目标,最少需要补充的数字的数量。
4 3 1 5 7 2
3
6 1 2 6 8 8 12 8
1
18 11 1 1 5 18 1 9 46826 2 17 6025 15 6 18 5 11 12 8 3
11
将四个数排序后得到数组:1 3 5 7,补充数字 1 1 2 进入数组并排序后得到 1 1 1 2 3 5 7,满足共有奇数个数,且 2 是中位数的要求。
对于 20\% 的数据,满足 1 \le N \le 20,正整数 X 在数组中已经存在且只有一个。
对于 70\% 的数据,满足 1 \le N \le 1000。
对于 100\% 的数据,满足 1 \le N \le 10^5,1 \le X \le 10^5,数组中的元素在 [1, 10^5] 的范围内。