func_code_string: #include <bits/stdc++.h>   using namespace std;   const int MAXN = 200005, INF = 1 << 31;   struct A {     int x, w;   } a[MAXN];   int b[MAXN], c[MAXN], n, d[MAXN], f[MAXN];   bool cmp(const A &x, const A &y) { return x.x < y.x; }   int main() {     scanf( %d , &n);     for (int i = 0; i < n; ++i) scanf( %d%d , &a[i].x, &a[i].w);     sort(a, a + n, cmp);     memset(f, 0, sizeof f);     memset(d, 0x7f, sizeof d);     for (int i = 0; i < n; ++i) {       b[i] = a[i].x - a[i].w;       c[i] = a[i].x + a[i].w;     }     int ans = 0;     for (int i = 0; i < n; ++i) {       int t = upper_bound(d + 1, d + ans + 1, b[i]) - d - 1;       d[t + 1] = min(c[i], d[t + 1]);       if (ans == t) ans = t + 1;     }     printf( %d n , ans);     return 0;   }   