开始: 2023-08-12 08:20:00

0812算法入门(2)期末测试

结束: 2023-08-12 11:00:00
当前  2025-01-24 17:57:01  类型: IOI  状态: 已经结束 

P3. Cut down trees
描述

A在一条水平的马路上种了n棵树,过了几年树都长得很高大了,每棵树都可以看作是一条长度为a_i的竖线段.由于有的树过于高大,挡住了其他的树,使得另一些树得不到阳光。如果有两棵树i,j,i顶端与j底端连线的倾角大于45度,我们就定义为i挡住了j。现在小A希望将一些树砍低,使得不存在挡住的情况。他想知道总共最少需要砍掉多少长度,请你来帮他计算一下。

注意,如果同一位置有两棵树的话,根据题意,我们只能将这两棵树都砍成高度为0才能保证它们不相互挡住,但是高度为0并不代表这棵树不存在。


输入

第一行一个正整数n,表示有n棵树。

接下来n行,每行两个正整数p_i,a_i,表示一棵树的位置和高度。


输出

输出一个数,表示最少砍断多少长度。

样例

输入

3
0 2
1 2
3 3

输出

3
提示

对于50%的数据,n \leq 100;

对于100%的数据,n \leq 100000,0 \leq p_i,a_i \leq 10000


提交

题目参数
时间限制 1 秒
内存限制 128 MB
提交