Submission #1233308

#TimeUsernameProblemLanguageResultExecution timeMemory
1233308yixuan19Bouquet (EGOI24_bouquet)C++20
18 / 100
40 ms2876 KiB
#include <iostream>
#include <utility>
#include <vector>
#include <algorithm>
using namespace std;

int main(){
    int N, l, r;
    cin >> N;
    int skipped = 0;
    int ans = 0;
    vector<pair<int,int> > tulips;
    for (int i = 0; i < N; ++i){
        cin >> l >> r;
        tulips.push_back(make_pair(l,r));
    }
    int dp[N];
    dp[0] = 1;
    int maxi = 0;
    for (int i = 1; i < N; ++i){
        maxi = 0;
        for (int j = max(0,j-5); j < i; ++j){
            if (j < i-tulips[i].first && i > j+tulips[j].second){
                maxi = max(maxi, dp[j]);
            }
        }
        dp[i] = 1 + maxi;
    }
    maxi = 0;
    // for (int i = 0; i < N; ++i){
    //     cout<<dp[i]<<' ';
    // }
    // cout<<endl;
    for (int i = 0; i < N; ++i ){
        maxi = max(maxi, dp[i]);
    }
    cout<<maxi<<endl;
}
#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...