#include "towers.h"
#include<bits/stdc++.h>
#define vi vector<int>
#define pb push_back
#define f0r(i,n) for(int i = 0; i<n; i++)
#define FOR(i, k, n) for(int i = k; i<n; i++)
#define vout(v) for(auto u : v)cout<<u<<' '; cout<<endl;
using namespace std;
int mxd = -1;
int mx = 0;
vi v, trough, ps;
void init(int N, std::vector<int> v) {
::v = v;
f0r(i, N){
if(v[i] > mx){
mx = v[i];
mxd = i;
}
}
trough.resize(N);
FOR(i, 1, N-1){
trough[i] = (v[i] < v[i-1] && v[i] < v[i+1]);
}
ps.resize(N+1);
FOR(i, 1, N+1){
ps[i] = ps[i-1] + trough[i-1];
}
// vout(ps);
}
int max_towers(int l, int r, int d) {
int dist = r - l + 1;
if(dist <= 2)return 1;
int ans = 0;
ans += (v[l] < v[l+1]);
ans += (v[r-1] > v[r]);
ans += ps[r] - ps[l+1];
return ans;
}
# | 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... |