Submission #834433

#TimeUsernameProblemLanguageResultExecution timeMemory
834433mindiyak송신탑 (IOI22_towers)C++17
0 / 100
4091 ms5628 KiB
#include "towers.h"

#include <vector>
#include <set>

using namespace std;

vector<int>h;
int n;

void init(int N, std::vector<int> H) {
  n=N;h=H;
}

int max_towers(int L, int R, int D) {
  set<int> visited;
  int ans = 0;

  for(int i=L;i<R+1;i++){
    if(visited.count(i))continue;
    int l=i;
    int cnt = 0;
    while(true){
      visited.insert(l);
      if(l == n-2)break;
      if(h[l]<=(h[l+1]-D) and h[l+2]<=(h[l+1]-D)){
        cnt++;
        l+=2;
      }else{
        break;
      }
    }
    ans = max(ans,cnt);
  }
  return ans+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...