Submission #1238596

#TimeUsernameProblemLanguageResultExecution timeMemory
1238596elenatrifBouquet (EGOI24_bouquet)C++20
24 / 100
18 ms3552 KiB
#include <bits/stdc++.h>
using namespace std;
//#define int long long

int32_t main()
{
    cin.tie(0);
    ios_base::sync_with_stdio(false);
    
    int n;
    cin >> n;
    int cnt=0;
    bool komb=1; //0 ri=li=rj=lj za 8 poeni, 1 za ri=0 za site za 16 poeni
    vector<int> l(n+1,0), r(n+1,0);
    for(int i=0; i<n; i++){
        cin >> l[i] >> r[i];
        ///da recemo sve sa isti
        if(r[i]!=0) komb=0;
    }
    if(komb==0)
        cout << (n-1)/(l[0]+1)+1;
    else{
        
        //ako right=0 za sekoe
        vector<int> dp(n, 0), prefmax(n, 0);
        dp[0]=1, prefmax[0]= 1;
        for(int i=1; i<n; i++){
            
            if(l[i]>=i){
                dp[i]=1;
            }
            else{
                dp[i]=dp[i-l[i]-1]+1;
            }
            
            dp[i]=max(dp[i], prefmax[i-1]);
            prefmax[i]=max(dp[i], prefmax[i-1]);
            
        }
        cout << *max_element(dp.begin(), dp.end());
        // cout << '\n';
        // for(auto d:dp)
        //     cout << d << " ";
    }

    
    return 0;
}
#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...