Submission #1227122

#TimeUsernameProblemLanguageResultExecution timeMemory
1227122LeonidCukRadio Towers (IOI22_towers)C++20
0 / 100
4062 ms5160 KiB
#include <bits/stdc++.h>
#include "towers.h"
using namespace std;
vector<int>v;
int n;
void init(int N, vector<int>H)
{
    n=N;
    v.resize(n);
    for(int i=0;i<n;i++)
    {
        v[i]=H[i];
    }
}
int dvq(int l,int r,int k,int d)
{
    if(r<l)return 0;
    if(r==l)
    {
        if(v[l]<=k)return 1;
        else return 0;
    }
    int t=-1,tmax=-1,tmin=0;;
    for(int i=l;i<=r;i++)
    {
        if(tmax<v[i])
        {
            t=i;
            tmax=i;
        }
    }
    return dvq(l,t-1,tmax-d,d)+dvq(t+1,r,tmax-d,d);
}
int max_towers(int l,int r,int d)
{
    return dvq(l,r,2e9,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...