제출 #1067248

#제출 시각아이디문제언어결과실행 시간메모리
1067248n1k송신탑 (IOI22_towers)C++17
0 / 100
4093 ms3784 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 find(int l, int r, int d, int minh){ //cerr<<l<<" "<<r<<endl; if(l>r) return 0; array<int, 2> mx = {0}; for(int i=l; i<=r; i++){ mx = max(mx, {h[i], i}); } return max({int(mx[0]+d<=minh), find(l, mx[1]-1, d, mx[0]) + find(mx[1] + 1, r, d, mx[0])}); } int max_towers(int L, int R, int D) { return find(L, R, D, 1e9); }
#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...