제출 #634083

#제출 시각아이디문제언어결과실행 시간메모리
634083Utaha송신탑 (IOI22_towers)C++17
0 / 100
4074 ms1436 KiB
#include "towers.h" #include <bits/stdc++.h> using namespace std; int n; vector<int> H; void init(int _N, std::vector<int> _H) { n = _N; H = _H; } int f(int l, int r, int D, int maxHeight) { int highest = -1; int count = 0; for(int i = l; i < r; i++) { if (H[i] > maxHeight) continue; count += 1; if (highest == -1 || H[i] > H[highest]) { highest = i; } } if (count <= 1) { return count; } else{ return max(1, f(l, highest, D, H[highest] - D) + f(highest + 1, r, D, H[highest] - D)); } } int max_towers(int L, int R, int D) { return f(L, R + 1, D, 2000000000 + 5); }
#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...