#include <bits/stdc++.h>
using namespace std;
using pii = pair<int, int>;
void solve(){
int n;cin>>n;
//max number of disjoint intervals so greedy by end
vector<pii> es;
for(int i = 0;i<n;i++){
int l,r;cin>>l>>r;
es.push_back({i+r, i-l});
}
sort(es.begin(), es.end());
int m=-1e9;
int mi = -1e9;
int res = 0;
//greedy should work logically
for(int i = 0;i<n;i++){
if(i<=mi)continue;
pii s = {es[i].second, es[i].first};
if(s.first>m){
res++;
m=i;
mi=s.second;
}
}
cout << res << '\n';
}
int main(){
ios_base::sync_with_stdio(false);cin.tie(0);
int t=1;
while(t--)solve();
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |