Building Shops

Time Limit: 2000/1000 MS (Java/Others)

Memory Limit: 131072/131072 K (Java/Others)

[显示标签]

Description

HDU’s $n$ classrooms are on a line ,which can be considered as a number line. Each classroom has a coordinate. Now Little Q wants to build several candy shops in these $n$ classrooms.

The total cost consists of two parts. Building a candy shop at classroom $i$ would have some cost $c_i$. For every classroom $P$ without any candy shop, then the distance between $P$ and the rightmost classroom with a candy shop on $P$'s left side would be included in the cost too. Obviously, if there is a classroom without any candy shop, there must be a candy shop on its left side.

Now Little Q wants to know how to build the candy shops with the minimal cost. Please write a program to help him.

Input

The input contains several test cases, no more than 10 test cases.
In each test case, the first line contains an integer $n(1\leq n\leq 3000)$, denoting the number of the classrooms.
In the following $n$ lines, each line contains two integers $x_i,c_i(-10^9\leq x_i,c_i\leq 10^9)$, denoting the coordinate of the $i$-th classroom and the cost of building a candy shop in it.
There are no two classrooms having same coordinate.

Output

For each test case, print a single line containing an integer, denoting the minimal cost.

Sample Input

3 1 2 2 3 3 4 4 1 7 3 1 5 10 6 1

Sample Output

5 11

Hint

jiangzijing2015

Source

2017中国大学生程序设计竞赛 - 女生专场

提交代码