제출 #764224

#제출 시각아이디문제언어결과실행 시간메모리
764224raysh07Radio Towers (IOI22_towers)C++17
14 / 100
828 ms1872 KiB
#include "towers.h"
#include <bits/stdc++.h>
using namespace std;

const int maxn = 1e5 + 69;
int a[maxn], p[maxn];
int n;
 
void init(int N, vector<int> H) {
    n = N;
    for (int i = 0; i < N; i++){
        a[i + 1] = H[i];
    }
    
    for (int i = 2; i < n; i++){
        p[i] = (a[i] < a[i - 1]) && (a[i] < a[i + 1]);
    }
    
    for (int i = 1; i <= n; i++) p[i] += p[i - 1];
}
 
int max_towers(int l, int r, int D) {
    l++;
    r++;
    if (D != 1) return 0;
    
    if (l == r) return 1;
    
    int ans = p[r - 1] - p[l];
    if (a[l] < a[l + 1]) ans++;
    if (a[r] < a[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...