제출 #1244179

#제출 시각아이디문제언어결과실행 시간메모리
1244179amine_arouaRadio Towers (IOI22_towers)C++20
11 / 100
4100 ms2162688 KiB
#include "towers.h" #include <bits/stdc++.h> using namespace std; vector<int> h; int n; vector<vector<int>> adj; void init(int N, std::vector<int> H) { n = N; h = H; adj.assign(n , {}); } int max_towers(int L, int R, int D) { for(int i = L ; i <= R ; i++) { int mx = h[i]; for(int j = i + 1 ; j <= R ; j++) { mx = max(mx , h[j]); if(h[i] + D <= mx && h[j] + D <= mx) { int k = j; for(; k <= R;k++) { adj[i].push_back(k); } break; } } } int ans = 0; vector<int> dp(n,1); for(int i = R ; i >= L ; i--) { for(auto j : adj[i]) { dp[i] = max(dp[i] , dp[j] + 1); } ans = max(ans , dp[i]); } return ans; }
#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...