#P4871. 砍树
砍树
Description
小A在一条水平的马路上种了 n 棵树,过了几年树都长得很高大了,每棵树都可以看作是一条长度为 a[i] 的竖线段。由于有的树过于高大,挡住了其他的树,使得另一些树得不到阳光。如果有两棵树 i,j,i 顶端与 j 底端连线的倾角大于 45 度,我们就定义为 i 挡住了 j。现在小A希望将一些树砍低,使得不存在挡住的情况。他想知道总共最少需要砍掉多少长度,请你来帮他计算一下。
注意,如果同一位置有两棵树的话,根据题意,我们只能将这两棵树都砍成高度为 0 才能保证它们不相互挡住,但是高度为 0 并不代表这棵树不存在。
Input Format
第一行一个正整数 n,表示有 n 棵树。
接下来 n 行,每行两个正整数 p[i],a[i],表示一棵树的位置和高度。
对于50%的数据,n<=100。
对于100%的数据,n<=100000。0<p[i],a[i]<=10000。
Output Format
输出一个数,表示最少砍断多少长度。
3
0 2
1 2
3 33