Submission #633414

#TimeUsernameProblemLanguageResultExecution timeMemory
633414LawlietRadio Towers (IOI22_towers)C++17
14 / 100
848 ms1872 KiB
#include "towers.h"
#include <bits/stdc++.h>

using namespace std;

const int maxn = 100010;

int n;

int v[maxn];
int dp[maxn];

void init(int N, std::vector<int> H) {
    n = N;

    for(int i = 1 ; i <= n ; i++)
        v[i] = H[i - 1];

    for(int i = 1 ; i <= n ; i++)
    {
        if( v[i - 1] > v[i] && v[i] < v[i + 1] ) 
            dp[i] = 1;

        dp[i] += dp[i - 1];
    }
}

int max_towers(int L, int R, int D) 
{
    L++; R++;
    int ans = dp[R] - dp[L - 1];

    if( L == R )
        return 1;

    if( v[L - 1] < v[L] && v[L] < v[L + 1] )
        ans++;

    if( v[R - 1] > v[R] && v[R] > v[R + 1] )
        ans++;

    return 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...