#B4373. [GXPC-S 2025] 队伍集结 / team

[GXPC-S 2025] 队伍集结 / team

题目背景

题目来源:2025 年广西中小学生程序设计挑战赛复赛(进阶组试题)。

题目描述

233zhang 和他的同学们走在大街上,该街道可视为一条无限长直线。他们各自分散在大街的各个角落,每个人的位置记作 aia_iaia_i 是整数,并且不保证唯一)。现在他们需要汇合,你可以给出 kk 个汇合点,同学们可以前往任意一个汇合点。汇合点位置可以安排在任意整数位置上。

同学们自然是想要偷懒的,他们会选择离自己位置最近的。由于每个人的体质不同,同学们对于距离各自有不同的不满意系数,记作 bib_i。对于每个人,他的不满意度计算为 (aix)2×bi (a_i - x)^2 \times b_i (其中 xx 为距离 aia_i 最近的汇合点的位置)。

为避免同学们因汇合点设置不合理而愤怒,你需要尽可能地使同学们的不满意度总和最小,并给出答案。

输入格式

第一行输入两个数:nn (1n200)(1 \le n \le 200)kk (1kn)(1 \le k \le n)nn 是给定大街上的人数,kk 是你确定的汇合点最多数量。
接下来有 nn 行,第 ii 行有两个整数 aia_i (0ai200)(0 \le a_i \le 200)bib_i (1bi109)(1 \le b_i \le 10^9)aia_i 代表该人所处位置,bib_i 代表他对于距离的不满意系数。

输出格式

一个整数,代表所有同学的不满意度和的最小值。

2 1
3 3
10 2
59
2 2
50 200
150 300
0
5 2
0 3000
25 256
50 114514
150 65536
100 40000
69563466

提示

样例解释

  • 样例 11 中,我们选择将唯一的一个汇聚点放置在 6 上,此时第一个人他的不满意度为 (36)2×3=27(3 - 6)^2 \times 3 = 27,第二个人他的不满意度为 (106)2×2=32(10 - 6)^2 \times 2 = 32,故总不满意度为 27+32=5927 + 32 = 59。此时为最优解。
  • 样例 22 中,我们选择在 50、150 处分别建立汇聚点,第一个人会选择前往 50 位置的汇聚点,第二个人会前往 150 位置的汇聚点。此时总不满意度为 0。

数据范围

  • 对于 10% 的数据,保证 k=1k = 10ai200 \le a_i \le 201kn201 \le k \le n \le 20
  • 对于 40% 的数据,保证 0ai200 \le a_i \le 201kn201 \le k \le n \le 20
  • 对于 100% 的数据,保证 0ai2000 \le a_i \le 2001kn2001 \le k \le n \le 2001bi1091 \le b_i \le 10^9