#include "towers.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5 + 7;
int n, a[N];
void init(int N, vector<int> h) {
n = N;
for (int i = 1; i <= n; ++i) a[i] = h[i - 1];
}
int max_towers(int l, int r, int d) {
++l;
++r;
int pos = l;
for (int i = l + 1; i <= r; ++i) if (a[i] < a[pos]) pos = i;
int res = 1;
int j = pos - 1, last = pos, mx = 0;
while (j >= l) {
if (a[j] <= mx - d && a[last] <= mx - d) {
last = j;
mx = 0;
res++;
} else {
mx = max(mx, a[j]);
}
--j;
}
j = pos + 1;
last = pos;
mx = 0;
while (j <= r) {
if (a[j] <= mx - d && a[last] <= mx - d) {
last = j;
mx = 0;
res++;
} else {
mx = max(mx, a[j]);
}
++j;
}
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... |