#P12725. [KOI 2021 Round 2] 累计距离
[KOI 2021 Round 2] 累计距离
题目背景
试题来源:https://koi.or.kr/archives/。中文翻译做了少量本土化修改。
按照署名—非商业性使用—相同方式共享 4.0 协议国际版进行授权。
题目描述
KOI 国是一个由 个村庄构成的国家,这些村庄分布在数轴上。其中第 个村庄()位于位置 ,并有 名居民。不会有两个不同村庄位于相同的位置。
KOI 国计划召开一场所有国民都要参加的大会。为此,所有人需要前往会议举办地点,所有人前往该地点所需的移动距离之和称为“累计距离”,我们用 表示当会议举办地点为 时的累计距离。
住在第 个村庄的人前往位置为 的会议地点时,需要移动的距离为 。由于第 个村庄有 名居民,因此该村居民所需的总移动距离为 。
将所有村庄的该值加总,即可得到在位置 举办会议时的累计距离:
例如,若村庄的位置为 、、,各村庄的居民数分别为 、、,当会议地点为 时,累计距离为:
$$f(4) = 2 \times |1 - 4| + 1 \times |3 - 4| + 3 \times |6 - 4| = 13 $$KOI 国已经准备了 个会议地点候选位置。第 个候选位置()为 。多个候选位置之间不会重复,但候选位置可能与某个村庄位置相同。
请编写程序,计算每一个候选会议地点 的累计距离 。
输入格式
第一行包含两个整数 和 ,用一个空格隔开。
接下来的 行,每行包含两个整数 和 ,表示每个村庄的居民人数及其位置。
接下来的 行,每行一个整数 ,表示一个候选会议地点的位置。
输出格式
输出 行。第 行输出会议地点为 时的累计距离 。
3 1
2 1
1 3
3 6
4
13
4 5
3 -4
1 -10
2 11
4 6
6
-5
1
-12
14
56
84
66
144
116
提示
约束条件
- 对于所有 (),
- 对于所有 ,
- 对于所有 ,
- 对任意 ,(村庄位置各不相同)
- 对任意 ,(候选位置各不相同)
- 所有给定数值均为整数
子任务
- (9 分)
- (21 分)对所有 ,满足 ,且对所有 ,满足
- (25 分)对所有 ,
- (45 分)无额外约束条件