Submission #1130685

#TimeUsernameProblemLanguageResultExecution timeMemory
1130685vibeduckRadio Towers (IOI22_towers)C++20
0 / 100
275 ms1548 KiB
#include "towers.h"

#include <vector>

int k = -1;
std::vector<int> Hh;

void init(int N, std::vector<int> H) {
  Hh = H;
  if (N == 1) return;
  if (N == 2) return;
  if (H[0] > H[1] || H[N - 2] < H[N - 1]) return;
  for (int i = 0; i < N; i++) {
    if (H[i] > H[i + 1]) {
      k = i;
      break;
    }
  }
  return;
}

int max_towers(int L, int R, int D) {
  if (k == -1) return 1;
  if (R - L + 1 < 3) return 1;
  if (L < k && k < R && Hh[k] - Hh[L] >= D && Hh[k] - Hh[R] >= D) return 3; 
  else return 1;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...