Submission #788597

#TimeUsernameProblemLanguageResultExecution timeMemory
788597mosiashvililukaRadio Towers (IOI22_towers)C++17
14 / 100
758 ms2256 KiB
#include<bits/stdc++.h>
#include "towers.h"
using namespace std;
int a,b,c,d,e,i,j,ii,jj,zx,xc,f[100009],K,pas,L,R,D,pr[100009],bo[100009];
void init(int NN, std::vector<int> HH) {
    a=NN;
    for(i=1; i<=a; i++){
        f[i]=HH[i-1];
    }

    for(i=1; i<=a; i++){
        e=0;
        if(i!=1&&f[i-1]<f[i]) e++;
        if(i!=a&&f[i+1]<f[i]) e++;
        if(e==0){
            pr[i]++;
            bo[i]=1;
        }
    }
    for(i=1; i<=a; i++){
        pr[i]+=pr[i-1];
        //cout<<i<<" "<<pr[i]<<"\n";
    }
}

int max_towers(int LL, int RR, int DD) {
    pas=1;LL++;RR++;
    L=LL;R=RR;D=DD;

    if(L==R) return 1;
    zx=pr[R]-pr[L-1];

    zx-=bo[L];
    if(f[L+1]>f[L]) zx++;
    zx-=bo[R];
    if(f[R-1]>f[R]) zx++;
    pas=zx;
    return pas;
}
#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...