#include "bits/stdc++.h"
#include "towers.h"
//#define int long long
#define all(v) v.begin() , v.end()
#define sz(a) (int)a.size()
using namespace std;
bool ok=1;
vector<int> xd;
void init(int n, vector<int> ar) {
if(n<=2) {ok=0;return;}
vector<array<int,2>> v;
vector<int> xd;
if(ar[1]>ar[2]) v.push_back({ar[1],0});
else {xd.push_back(1);v.push_back({ar[1],1});}
for(int i=2;i<n;i++){
if(ar[i]>ar[i-1] && ar[i]>ar[i+1]) v.push_back({ar[i],0});
else if(ar[i]<ar[i-1] && ar[i]<ar[i+1]) {xd.push_back(i);v.push_back({ar[i],1});}
}
if(ar[n]<ar[n-1]) {xd.push_back(n);v.push_back({ar[n],1});}
else v.push_back({ar[n],0});
}
int max_towers(int L, int R, int D){
if(!ok) return 0;
int it=upper_bound(all(xd),r)-xd.begin();
int it2=lower_bound(all(xd),l)-xd.begin();
return it-it2;
}
/*void _(){
int n,q;cin >> n >> q;
int ar[n+5];
for(int i=1;i<=n;i++) cin >> ar[i];
if(n<=2) return;
vector<array<int,2>> v;
vector<int> xd;
if(ar[1]>ar[2]) v.push_back({ar[1],0});
else {xd.push_back(1);v.push_back({ar[1],1});}
for(int i=2;i<n;i++){
if(ar[i]>ar[i-1] && ar[i]>ar[i+1]) v.push_back({ar[i],0});
else if(ar[i]<ar[i-1] && ar[i]<ar[i+1]) {xd.push_back(i);v.push_back({ar[i],1});}
}
if(ar[n]<ar[n-1]) {xd.push_back(n);v.push_back({ar[n],1});}
else v.push_back({ar[n],0});
while(q--){
int l,r,d;
cin >> l >> r >> d;
int it=upper_bound(all(xd),r)-xd.begin();
int it2=lower_bound(all(xd),l)-xd.begin();
cout << it-it2 << '\n';
}
}
int32_t main(){
cin.tie(0); ios::sync_with_stdio(0);
int tc=1;//cin >> tc;
while(tc--) _();
return 0;
}*/
Compilation message
towers.cpp: In function 'int max_towers(int, int, int)':
towers.cpp:27:30: error: 'r' was not declared in this scope
27 | int it=upper_bound(all(xd),r)-xd.begin();
| ^
towers.cpp:28:31: error: 'l' was not declared in this scope
28 | int it2=lower_bound(all(xd),l)-xd.begin();
| ^