题目描述
在一条无穷无尽的从左往右的笔直的公路上有 n 棵树,他们与公路原点的距离分别是 x1,x2,…,xn,第 i 棵树的高度为 hi。
为了方便描述,我们这里称第 i 棵树的位置 xi 为它的坐标。
作为业界最优秀的”伐木大师”,汪老师接下来就要开始砍树。但是要求是定向砍倒,也就是说树只能往左倒或者往右倒。
这也就是说,对于第 i 棵树(它的坐标为 xi 高度为 hi):
- 如果砍倒它并且往左倒则这棵树的覆盖范围为 [xi−hi,xi]
- 如果砍倒它并且往右倒则这棵树的覆盖范围为 [xi,xi+hi]
- 如果不砍倒它,则它仅仅覆盖 xi 这一个点,对应的覆盖范围是 [xi,xi]
汪老师希望砍倒尽量多的树,且这些砍倒的树的覆盖范围不重叠。
注:在本题中,两个覆盖范围存在一个点重合也算重叠的。比如,区间 [3,5] 和 [5,9] 是重叠的;区间 [2,6] 和 [2,2] 也是重叠的。
求:在砍倒的树的覆盖范围不重叠的情况下,汪老师最多能砍倒多少棵树?
输入格式
第一行,一个整数 n(1≤n≤105),表示树有多少颗。
接下来 n 行,每行包含两个整数 xi 和 hi,以一个空格分隔,分别表示树的坐标的高度(1≤xi,hi≤109)。
数据保证 xi 严格单调递增,即 x1<x2<…<xn−1<xn。
输出格式
输出一个整数,表示在砍倒的树的覆盖范围不重叠的情况下,汪老师最多能砍倒的树的棵数。
5
1 2
2 1
5 10
10 9
19 1
3
5
1 2
2 1
5 10
10 9
20 1
4
说明/提示
样例解释
样例1中,一种最优解是:
- 砍第 1 棵树并且往左倒,覆盖的区间范围为 [−1,1]
- 砍第 2 棵树并且往右倒,覆盖的区间范围为 [2,3]
- 不砍第 3 棵树,覆盖的区间范围为端点 5(即 [5,5])
- 不砍第 4 棵树,覆盖的区间范围为端点 10(即 [10,10])
- 砍第 5 棵树并且往右倒,覆盖的区间范围为 [19,20]
样例2中(因为样例2和样例1的差别只有 x5 增加了),可以再多砍第 4 棵树并往右倒,对应的覆盖的区间范围为 [10,19]
数据规模与约定
- 对于 20% 的数据,n≤10,xi,hi≤100
- 对于 40% 的数据,n≤1000,xi,hi≤106
- 对于 100% 的数据,1≤n≤105,1≤xi,hi≤109