#include<bits/stdc++.h>
using namespace std;
int n,ans;
struct node{
int l,r;
}a[200005];
bool cmp(node x,node y){
if(x.r!=y.r)return x.r<y.r;
return x.l<y.l;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
int x,y;
cin>>x>>y;
a[i].l=x-y;a[i].r=x+y;
}
sort(a+1,a+n+1,cmp);
int r=-(1<<30);
for(int i=1;i<=n;i++){
if(a[i].l>=r){
ans++;
r=a[i].r;
}
}
cout<<ans;
return 0;
}
1920. Build Array from Permutation | 494. Target Sum |
797. All Paths From Source to Target | 1547B - Alphabetical Strings |
1550A - Find The Array | 118B - Present from Lena |
27A - Next Test | 785. Is Graph Bipartite |
90. Subsets II | 1560A - Dislike of Threes |
36. Valid Sudoku | 557. Reverse Words in a String III |
566. Reshape the Matrix | 167. Two Sum II - Input array is sorted |
387. First Unique Character in a String | 383. Ransom Note |
242. Valid Anagram | 141. Linked List Cycle |
21. Merge Two Sorted Lists | 203. Remove Linked List Elements |
733. Flood Fill | 206. Reverse Linked List |
83. Remove Duplicates from Sorted List | 116. Populating Next Right Pointers in Each Node |
145. Binary Tree Postorder Traversal | 94. Binary Tree Inorder Traversal |
101. Symmetric Tree | 77. Combinations |
46. Permutations | 226. Invert Binary Tree |