Submission #1335476

#TimeUsernameProblemLanguageResultExecution timeMemory
1335476opeleklanosRadio Towers (IOI22_towers)C++20
11 / 100
4065 ms1588 KiB
#include <vector>
#include <iostream>
using namespace std;

int k = 0;

vector<int> h;
int n;

void init (int n1, vector<int> h1){
    n = n1;
    h = h1;

}

int max_towers(int l, int r, int d){
    vector<int> dp(n, 0);
    int ans = 1;
    dp[l] = 1;
    for(int i = l+1; i<=r; i++){
        dp[i] = 1;
        int highest = h[i-1];
        for(int j = i-2; j>=l; j--){
            if(h[j] + d <= highest && h[i] + d <= highest){
                dp[i] = max(dp[i], dp[j] + 1);
            }
            if(h[j] > highest) highest = h[j];
        }
        ans = max(ans, dp[i]);
    }
    return ans;
}

// int main(void){
//     freopen("input.txt", "r", stdin);
//     int n1; cin>>n1;
//     vector<int> h1(n1, 0);
//     for(int i = 0; i<n1; i++) cin>>h1[i];
//     init(n1, h1);
//     int q1; cin>>q1;
//     for(int i = 0; i<q1; i++){
//         int a, b, d;
//         cin>>a>>b>>d;
//         cout<<max_towers(a, b, d);
//     }
// }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...