问题3351--建学校

3351: 建学校

时间限制: 1 Sec  内存限制: 512 MB
提交: 0  解决: 0
[提交] [状态] [讨论版] [命题人:]

题目描述

汶川大地震发生已经有一年了。地震灾区的重建工作有许多工作要做,其中学校的重建被放在了重要的议事日程上: 在一条新建的公路两旁,有n个村庄,编号为1,2,……,n。( 3<=n<=100)每个村庄有一定数量的小学生,村庄之间的距离也已知,例如:n=3时,下图给出了三个村庄的相关情况: 村庄1的学生数24,村庄2 的学生数18,村庄3的学生数31。 村庄1与村庄2之间距离为10,村庄2和村庄3之间的距离为8。 10 8 ①-----------②-----------③ 24 18 31 现在要在村庄中建K个学校(1<=K<=10),比如上图中的k=2时,建二个学校,此时有三种方案: (1) 学校设在村庄1、2, 村庄3的学生走到村庄2,学生走的距离和为:31*8=24; (2) 学校设在村庄1、3, 村庄2的学生走到村庄3(就近入学),学生走的距离和为:18*8=144; (3) 学校设在村庄2、3, 村庄1的学生走到村庄2,学生走的距离和为:24*10=240; 显然方案2最好。程序要求输出最佳方案中的学生所走的距离和。

输入

第一行2个整数,表示村庄数n,学校数k 第二行n个整数,表示每个村庄学生数(数量在1-100之间) 第三行n-1个整数,表示村庄i到村庄i+1之间的距离(每个数在1-100之间)。

输出

一个整数,表示学生走的距离和的最小值。

样例输入

3 2
24 18 31
10 8

样例输出

144

来源/分类


[提交] [状态]