#include "towers.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
int i;
vector<int> h;
void init(int N, std::vector<int> H) {
  while (i+1 < N && H[i] < H[i+1]) i++;
  for (int j=0; j<N; j++) h.pb(H[j]);
}
int max_towers(int L, int R, int D) {
  if (R<=i || L>=i) return 0;
  int lo = L-1, hi = i;
  while (hi-lo > 1) {
    int mid = (lo+hi) / 2;
    h[mid] <= h[i]-D ? lo = mid : hi = mid;
  }
  cout << lo << endl;
  int ans = 0;
  if (lo >= L) ans += lo-L+1;
  lo = i, hi = R+1;
  while (hi-lo > 1) {
    int mid = (lo+hi) / 2;
    h[mid] <= h[i]-D ? hi = mid : lo = mid;
  }
  if (hi <= R) ans += R-hi+1;
  // cout << (hi) << endl;
  return max(ans, 1);
}
| # | 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... |