Submission #1233592

#TimeUsernameProblemLanguageResultExecution timeMemory
1233592dssfsuper2Bouquet (EGOI24_bouquet)C++20
24 / 100
23 ms2580 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...