最接近中位数的数¶
预估时间限制:0.5 秒。内存限制:128 MB。
实际时限以标准程序在目标评测环境的最慢用例中位时间乘以 \(2\) ,按 \(0.5\) 秒向上取整。参考环境见评测说明。
背景故事¶
观测站收到一组有正有负的测量值,准备保留最接近中心的若干条记录。偏离中心同样远时,站点优先保留数值较大的记录。
(本故事由GPT-6重写)
形式化问题描述¶
给定 \(n\) 个整数 \(a_1,\ldots,a_n\) 以及 \(k\) .将全部数排序为 \(b_1\le\cdots\le b_n\) .中位数定义为
\[
m=\begin{cases}b_{(n+1)/2},&n\text{ 为奇数},\\(b_{n/2}+b_{n/2+1})/2,&n\text{ 为偶数}.\end{cases}
\]
按 \(|a_i-m|\) 从小到大选择 \(k\) 个位置;距离相同时优先选择数值较大的位置。相同数值的不同位置分别计数,任选同值位置不会改变答案。输出选中数值的和。中位数始终由完整输入序列确定。
输入格式¶
第一行两个整数 \(n,k\) .第二行 \(n\) 个整数 \(a_i\) .
输出格式¶
输出一行一个整数,表示选中数值之和。
样例¶
样例 1¶
输入¶
5 3
1 2 3 10 11
输出¶
6
样例 2¶
输入¶
8 5
1 1 1 1 4 7 7 7
输出¶
8
样例 3¶
输入¶
4 1
-9 -1 1 9
输出¶
1
样例解释¶
样例 1 的中位数为 3,选择 1、2、3,和为 6。样例 2 的中位数为 2.5,四个 1 与一个 4 距离均为 1.5,全部选中,和为 8。样例 3 的中位数为 0,距离相同时优先选择 1。
双圆框标出被选中的三个值;下方列出它们到中位数的距离。
数据范围与保证¶
所有数据满足 \(1\le k\le n\le10^6\) ,\(|a_i|<10^9\) .
规格由 Codex(GPT-6)重新设计:明确偶数个数时取两个中间值的算术平均,距离按数值差计算;边界与样例使用这一统一定义。
| 分值比例 | 额外条件 |
|---|---|
| 20% | \(n\le20\) |
| 30% | \(n\le10000\) |
| 50% | 无额外条件 |