Submission #1234953

#TimeUsernameProblemLanguageResultExecution timeMemory
1234953marizaRadio Towers (IOI22_towers)C++20
11 / 100
4059 ms3140 KiB
#include "towers.h"
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
const ll N=1e5;

ll n, a[N];

void init(int n1, vector<int> h) {
    n=n1;
    for(ll i=0; i<n; i++){
        a[i]=h[i];
    }
}

int max_towers(int l, int r, int d) {
    ll ans[n][2];
    for(ll i=r; i>=l; i--){
        ans[i][0]=1;
        ans[i][1]=0;
        for(ll j=i+1; j<=r; j++){
            if(a[i]+d<=a[j]) ans[i][0]=max(ans[i][0],ans[j][1]+1);
            else if(a[i]>=a[j]+d) ans[i][1]=max(ans[i][1],ans[j][0]);
        }
        // cout<<i<<" "<<ans[i][0]<<" "<<ans[i][1]<<endl;
    }
    
    ll max_ans=0;
    for(ll i=l; i<=r; i++){
        max_ans=max(max_ans,ans[i][0]);
    }
    return max_ans;
}
#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...