编程题
居民集会 ### 题目描述 蓝桥村的居民都生活在一条公路的边上,公路的长度为 $L$,每户家庭的位置都用这户家庭到公路的起点的距离来计算,第 i 户家庭距起点的距离为 $d_i$。 每年,蓝桥村都要举行一次集会。今年,由于村里的人口太多,村委会决定要在 4 个地方举行集会,其中 3 个位于公路中间, 1 个位最公路的终点。 已知每户家庭都会向着远离公路起点的方向去参加集会,参加集会的路程开销为家庭内的人数 $t_i$ 与距离的乘积。 给定每户家庭的位置 $d_i$ 和人数 $t_i$,请为村委会寻找最好的集会举办地:$p_1,p_2,p_3,p_4\ (p_1 \leq p_2 \leq p_3 \leq p_4=L)$,使得村内所有人的路程开销和最小。 ### 输入描述 输入描述 输入的第一行包含两个整数 $n,L$,分别表示蓝桥村的家庭数和公路长度。 接下来 $n$ 行,每行两个整数 $d_i,t_i$,分别表示第 $i$ 户家庭距离公路起点的距离和家庭中的人数。 其中,$1 \leq n \leq 10^5,1 \leq L \leq 10^6,0 \leq d_i \leq L,d_i \leq d_i+1,0 \leq t_i \leq 10^6$。 ### 输出描述 输出一行,包含一个整数,表示村内所有人路程的开销和。 ### 输入输出样例 #### 示例 > 输入 ```txt 6 10 1 3 2 2 4 5 5 20 6 5 8 7 ``` > 输出 ```txt 4 ``` > 样例说明 > 在距起点 2, 5, 8, 10 这 4 个地方集会,6 个家庭需要的走的距离分别为 1, 0, 1, 0,2, 0,总的路程开销为 1\*3+0\*2+1\*5+0\*20+2\*5+0\*7=18。
查看答案
赣ICP备20007335号-2