1252.中位数

通过数:66提交数:168学校:华东师范大学考研机试真题 题目列表 标签
题目描述 给定 $n$ 个数 $A 1, A 2, \cdots, A n$ (保证 $n$ 为奇数) 和 $s$,你可以任意修改其中的某些数,但每次修改会有代价。 代价定义为: 若将 $x$ 修改为 $y$,则此次代价为 $ x - y $。 求最少花费多少代价使得修改后所有数的中位数为 $s$。 $A 1, A 2, \cdots, A n$ 的中位数定义为: 将 $A i$ 从小到大排序后的第 $\frac{n}{2} + 1$ 项 ($n$ 为奇数)。 提示 对于 $20\%$ 数据:$n \leq 20$。 对于 $40\%$ 数据:$n \leq 1000$。 另外对于 $30\%$ 数据:满足对于任意 $i \in [1, n], A i = 0$。 对于所有数据,满足 $1 \leq n \leq 10^5$ 且 $n$ 为奇数,$0 \leq s, A i \leq 10^8$,且 $n$ 个数中有超过 $\frac{n}{2}$ 个元素为 $0$。 输入格式 第一行两个整数 $n, s$。 第二行 $n$ 个整数,表示 $A 1, A 2, \cdots, A n$。 输出格式 输出一个整数,表示使序列的中位数变为 $s$ 的最小代价。 输入样例 5 3 0 0 0 3 5 输出样例 3
C
补全
点击调试按钮即可调试代码。

点击提交按钮即可提交代码。