Logo Wy Online Judge

WyOJ

#622. IOIP 20250202 exactly-k-prices

贸易

时间限制: 1 秒
内存限制: 256 MB
输入: 标准输入
输出: 标准输出

题目描述

市场和贸易是文明的重要方面。任何足够熟练的《文明》玩家在某个时刻都会达到游戏的一个阶段,此时他的仓库堆满了各种各样的稀有资源。有时它们变得如此之多,以至于计算每种资源的最佳售价变得不可能。

帕夏也遇到了同样的情况。为了简化游戏的剩余部分,他决定提高一些稀有资源的价格,使得其中恰好有 $k$ 种不同的价格,并且总价格涨幅最小。

更形式化地说,目前他的文明销售 $n$ 种商品,每种商品有自己的价格 $s_i$,并且所有 $s_i$ 互不相同。需要为商品选择新的价格 $e_i$,使得:

  • 所有 $e_i$ 是整数;
  • 对于所有 $i$,有 $e_i \ge s_i$;
  • 在所有 $e_i$ 中,恰好有 $k$ 个不同的数值(不多不少);
  • $\sum\limits_{i=1}^n (e_i - s_i)$ 最小。

你需要找到这样一组价格,并确定对应的所有商品总价格涨幅。

输入数据

每个测试包含多个测试用例。第一行包含一个整数 $t$ —— 测试用例的数量 ($1 \le t \le 10^3$)。接下来是测试用例的描述。

每个测试用例的第一行包含两个整数 $n$ 和 $k$ —— 商品数量和所需的不同价格数量,分别 ($1 \leq k \leq n \leq 2 \cdot 10^3$)。

第二行包含 $n$ 个整数 $s_1, s_2, \ldots, s_n$ —— 商品价格 ($1 \leq s_i \leq 10^9$;所有 $s_i$ 互不相同)。

保证所有测试用例的 $n$ 之和不超过 $2 \cdot 10^3$。

输出数据

对于每个测试用例,在一行中输出一个整数 —— 满足所有要求的最小总价格上涨。

评分系统

仅当子任务的所有测试及其必需的子任务全部通过时,该子任务的分数才会被计算。令 $N$ 表示所有测试用例的 $n$ 之和。

子任务 分值 附加限制 必需子任务 校验信息
0 样例 完全
1 5 $N \leq 6, s_i \leq 8$ 首次错误
2 5 $k = 1$ 首次错误
3 5 $k = 2$ 首次错误
4 5 $k = 3$ 首次错误
5 20 $N \leq 200$ 1 首次错误
6 15 $n - k \leq 100$ 1 首次错误
7 45 0–6 首次错误

示例

输入

3
4 2
1 2 4 3
7 3
1 5 12 4 11 6 3
9 5
4 6 13 1 3 8 7 12 5

输出

2
6
4
题目信息
  • 难度 UKE
  • 控制组 group_default
  • 时间限制 1 s
  • 空间限制 256 MB
  • 数据大小 0.582 MB
提交统计
  • 提交数 0
  • 通过数 0
  • 通过率 N/A