#E0002. 伐木者

伐木者

题目描述

在一条无穷无尽的从左往右的笔直的公路上有 nn 棵树,他们与公路原点的距离分别是 x1,x2,,xnx_1, x_2, \ldots, x_n,第 ii 棵树的高度为 hih_i

为了方便描述,我们这里称第 ii 棵树的位置 xix_i 为它的坐标。

作为业界最优秀的”伐木大师”,汪老师接下来就要开始砍树。但是要求是定向砍倒,也就是说树只能往左倒或者往右倒。

这也就是说,对于第 ii 棵树(它的坐标为 xix_i 高度为 hih_i):

  • 如果砍倒它并且往左倒则这棵树的覆盖范围为 [xihi,xi][x_i - h_i, x_i]
  • 如果砍倒它并且往右倒则这棵树的覆盖范围为 [xi,xi+hi][x_i, x_i + h_i]
  • 如果不砍倒它,则它仅仅覆盖 xix_i 这一个点,对应的覆盖范围是 [xi,xi][x_i, x_i]

汪老师希望砍倒尽量多的树,且这些砍倒的树的覆盖范围不重叠。

注:在本题中,两个覆盖范围存在一个点重合也算重叠的。比如,区间 [3,5][3, 5][5,9][5, 9] 是重叠的;区间 [2,6][2, 6][2,2][2, 2] 也是重叠的。

求:在砍倒的树的覆盖范围不重叠的情况下,汪老师最多能砍倒多少棵树?

输入格式

第一行,一个整数 n(1n105)n(1 \le n \le 10^5),表示树有多少颗。

接下来 nn 行,每行包含两个整数 xix_ihih_i,以一个空格分隔,分别表示树的坐标的高度(1xi,hi1091 \le x_i, h_i \le 10^9)。

数据保证 xix_i 严格单调递增,即 x1<x2<<xn1<xnx_1 \lt x_2 \lt \ldots \lt x_{n-1} \lt x_n

输出格式

输出一个整数,表示在砍倒的树的覆盖范围不重叠的情况下,汪老师最多能砍倒的树的棵数。

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中,一种最优解是:

  • 砍第 11 棵树并且往左倒,覆盖的区间范围为 [1,1][-1, 1]
  • 砍第 22 棵树并且往右倒,覆盖的区间范围为 [2,3][2, 3]
  • 不砍第 33 棵树,覆盖的区间范围为端点 55(即 [5,5][5, 5]
  • 不砍第 44 棵树,覆盖的区间范围为端点 1010(即 [10,10][10, 10]
  • 砍第 55 棵树并且往右倒,覆盖的区间范围为 [19,20][19, 20]

样例2中(因为样例2和样例1的差别只有 x5x_5 增加了),可以再多砍第 44 棵树并往右倒,对应的覆盖的区间范围为 [10,19][10, 19]

数据规模与约定

  • 对于 20%20\% 的数据,n10,xi,hi100n \le 10, x_i, h_i \le 100
  • 对于 40%40\% 的数据,n1000,xi,hi106n \le 1000, x_i, h_i \le 10^6
  • 对于 100%100\% 的数据,1n105,1xi,hi1091 \le n \le 10^5, 1 \le x_i, h_i \le 10^9