2、踢石头(stone)

2、踢石头(stone)

【题目描述】
编程集训,真累人!
课间,某君在操场上沿着笔直的跑道从左往右走着、散步休息……
看到有N个排成一直线的小石头,于是他无聊的踢了起来:
在他遇到第“奇数”块石头时,他会将其往前面踢,能踢多远在输入中会给出,而遇到第“偶数”个石头时不进行处理(不踢:略过)。当有多个石头在同一位置时,则先处理“射程”(踢下,石头往前移的距离)最短的石头。
然后他就这么一直往前走,边走边踢,直到前面已经没有任何石头时,这时候计算该群与出发点的距离。

【输入格式】
第一行一个正整数N (0<N<=100,000),表示石头的个数
接下来有N行,每行两个整数,分别表示石头的位置Pi及其射程Di。Pi(0<=Pi<=100,000) 、Di(0<=Di<=1,000)

【输出格式】
前面没石头时,离出发点的距离

输入样例1

2 
1 5 
2 4 

输出样例1

11

【样例一解析】
一开始的时候遇到的是第一个石头(1,5),他的坐标是1,然后往前踢了5个单位之后,坐标变成(6,5)
随后继续往前走,开始遇到第二个石头(2,4),忽略过。
然后继续往前走,遇到了第三个石头(6,5),即原第一个石头,但是它此时坐标为6。往前踢了5个单位之后,坐标变成(11,5),
继续往前走,一直走到坐标11时,遇到第四个石头(11,5),忽略。
前面已经没有石头了,因此此时离坐标原点的距离为11。

输入样例2

2 
1 5
6 6

输出样例2

12

Limitation

1s, 128MiB for each test case.
数据规模
在90%的数据中,1 ≤ N ≤ 3000;
在100%的数据中,1 ≤ N ≤ 100000;
保证所有输入数据中等级的值小于10^8,1 ≤ K ≤ N-1 。