锯木厂选址

锯木厂选址

Description

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

Format

Input

输入的第一行为一个正整数n——树的个数(2≤n≤20000)。树从山顶到山脚按照1,2……n标号。
接下来n行,每行有两个正整数(用空格分开)。
第i+1行含有:wi——第i棵树的重量(公斤为单位)和 di——第i棵树和第i+1棵树之间的距离,1≤wi≤10000,0≤di≤10000。
最后一个数dn,表示第n棵树到山脚的锯木厂的距离。
保证所有树运到山脚的锯木厂所需要的费用小于2000000000分。

Output

One integer, the sum of x and y.

Sample 1

Input

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

Output

26

Limitation

1s, 64MiB for each test case.

对于20%的数据,N<=200;
对于50%的数据,N<=1000;
对于100%的数据,N<=20 000;

Source

CEOI2004