Submission #1351402

#TimeUsernameProblemLanguageResultExecution timeMemory
1351402trigonBouquet (EGOI24_bouquet)C++20
24 / 100
19 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 dp[i];
    //Take
    int option1 = 1 + solve(i-l[i]-1,dp,l);
    //NotTake
    int option2 = solve(i-1,dp,l);
    return dp[i] = max(option1,option2);
}
int main(){
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    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...