#include "towers.h"
#include <bits/stdc++.h>
using namespace std;
int n;
vector<int> h;
const int N = 1e5 + 5;
int ps[N], v[N];
void init(int _n, std::vector<int> H) {
n = _n;
h = H;
for (int i = 0; i < n; i++) {
bool can_lease = 1;
if (i && h[i - 1] < h[i]) can_lease = 0;
if (i + 1 < n && h[i + 1] < h[i]) can_lease = 0;
if (can_lease) v[i] = 1;
}
ps[0] = v[0];
for (int i = 1; i < n; i++) ps[i] = ps[i - 1] + v[i];
}
int max_towers(int L, int R, int D) {
if (L == R) return 1;
int res = ps[R] - (!L ? 0 : ps[L - 1]);
res -= v[L], res -= v[R];
if (h[L + 1] > h[L]) res++;
if (h[R - 1] > h[R]) res++;
return res;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |