网站页面
当前课程
成员
General
主题 1
主题 2
主题 4
主题 5
主题 6
主题 7
主题 8
主题 9
主题 10
主题 11
主题 12
主题 13
主题 14
主题 15
主题 16
主题 17
主题 18
主题 19
主题 20
整理书本
成绩 | 0 | 开启时间 | 2013年02月21日 星期四 23:02 |
折扣 | 0.8 | 折扣时间 | 2013年02月28日 星期四 23:02 |
允许迟交 | 是 | 关闭时间 | 2013年02月28日 星期四 23:02 |
输入文件 | book.in | 输出文件 | book.out |
【问题描述】
Ztc想把他满屋子的书整理一下。为了应付繁重的学习任务,ztc已经筋疲力尽了,于是他向你求助,请你帮他计算他最少需要花费多少力气。
书本分成若干堆,呈直线排布。每一堆的书本都有重量w和价值v。Ztc的任务是将所有书合成一堆。因为Ztc很看重书本的价值,所以他认为合并i,j两堆的书所需要的力气为w[i]-v[i]+w[j]-v[j]。合并后的书堆的重量和价值均为合并前两堆书的重量和价值的总和。也就是说,合并i.j两堆的书后,w=w[i]+w[j],v=v[i]+v[j]。小智个人不愿意走来走去,所以合并只能在相邻两堆书本间进行。书本合并前后,位置不变。如将1,2,3中的1,2进行合并,那么合并结果为3,3,再将3,3合并为6(1,2,3,6指重量)。
【输入】
输入文件book.in的第一行是一个整数n(2≤n≤400)。
第2~n+1行每行两个整数w和v(0<v<w≤1000)。
【输出】
输出文件book.out共一行,这一行只有一个整数f,表示最小力气。
【输入输出样例】
book.in
3
6 5
9 7
11 2
book.out
15
【输入输出样例解释】
先将前两堆合并,再将合并后的书堆与剩余的一堆合并。
【限制】
30%的数据满足:2≤n≤100
100%的数据满足:2≤n≤400