Submission #1351389

#TimeUsernameProblemLanguageResultExecution timeMemory
1351389trigonBouquet (EGOI24_bouquet)C++20
0 / 100
3096 ms2628 KiB
#include<bits/stdc++.h>
using namespace std;
int solve(int i,vector<int> &dp,vector<int> &l){
    if(i==0) return dp[i]=1;
    if(i<0) return 0;
    if(dp[i]!=-1) return -1;
    //Take
    int option1 = 1 + solve(i-l[i]-1,dp,l);
    //NotTake
    int option2 = solve(i-1,dp,l);
    return max(option1,option2);
}
int main(){
    int n;
    cin >> n;
    vector<int> l(n);
    vector<int> r(n);
    int ans=0;
    vector<int> dp(n,-1);
    for(int i=0;i<n;i++){
        cin >> l[i] >> r[i];

    }
    for(int i=0;i<n;i++){
        ans = max(ans,solve(i,dp,l));
    }

    cout<<ans<<"\n";
}
#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...