Submission #1214754

#TimeUsernameProblemLanguageResultExecution timeMemory
1214754dostsRadio Towers (IOI22_towers)C++20
4 / 100
277 ms1564 KiB
#include "towers.h"
#include <bits/stdc++.h>
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2")
//#define int long long
#define pii pair<int,int>
#define vi vector<int>
#define ff first
#define ss second
#define sp << " " <<
#define all(x) x.begin(),x.end()
#define big(x) ((int)(x.size()))
using namespace std;
const int MOD = 1e9+7, LIM = 1e6+1, inf = 2e9;

int sel = 0;
int len;
vi h;
void init(int N, std::vector<int> H) {
  len = N;
  h = H;
  for (int i = 0;i<N;i++) {
    if (H[i] > H[i+1]) {
      sel = i;
      break;
    }
  }
}

int max_towers(int L, int R, int D) {
  if (R <= sel || L >= sel) return 1;
  int mn1 = inf,mn2 = inf;
  for (int i = L;i<sel;i++) mn1 = min(mn1,h[i]);
  for (int i = R;i>sel;i--) mn2 = min(mn2,h[i]);
  if (max(mn1,mn2) > h[sel]-D) return 1;
  return 2;
}
#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...