#501. 锯木厂选址

锯木厂选址

题目描述

原题来自:CEOI 2004

从山顶上到山底下沿着一条直线种植了n\red{ n }棵老树。当地的政府决定把他们砍下来。为了不浪费任何一棵木材,树被砍倒后要运送到锯木厂。 木材只能朝山下运。山脚下有一个锯木厂。另外两个锯木厂将新修建在山路上。你必须决定在哪里修建这两个锯木厂,使得运输的费用总和最小。假定运输每公斤木材每米需要一分钱。 你的任务是编写一个程序,读入树的个数和他们的重量与位置,计算最小运输费用。

输入格式

输入的第一行为一个正整数 n\red{n},表示树的个数 。树从山顶到山脚按照 1,2,,n\red{1,2,\cdots ,n} 标号。 接下来n\red{ n} 行,每行有两个整数 wi\red{w_i}di\red{d_i​}。分别表示第 i\red{i} 棵树的重量(公斤为单位)和第 i\red{i} 棵树和第 i+1\red{i+1 }棵树之间的距离。最后一个数 dn\red{d_n},表示第 n\red{n} 棵树到山脚的锯木厂的距离。

输出格式

输出仅一个数,表示最小的运输费用。

样例

输入样例

9
1 2
2 1
3 3
1 1
3 2
1 6
2 1
1 2
1 1

输出样例

26

提示

下图展示了对于样例输入的最佳伐木场设置位置,树木用一个圆表示,伐木场用黑色标出。结果为:

img

对于 97\red{97 }分的数据,2n2×104,1wi104,0di104\red{2\le n\le 2\times 10^4,1\le w_i\le 10^4,0\le d_i\le 10^4},保证所有树运到山脚的锯木厂所需要的费用小于 2×109\red{2\times 10^9} 分。(本部分数据为原数据)

对于另外 3\red{3 }分的数据,2n2×105\red{2\le n\le 2\times 10^5},保证所有计算均可在 64\red{64} 位有符号整数下进行。