| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1335476 | opeleklanos | 송신탑 (IOI22_towers) | C++20 | 4065 ms | 1588 KiB |
#include <vector>
#include <iostream>
using namespace std;
int k = 0;
vector<int> h;
int n;
void init (int n1, vector<int> h1){
n = n1;
h = h1;
}
int max_towers(int l, int r, int d){
vector<int> dp(n, 0);
int ans = 1;
dp[l] = 1;
for(int i = l+1; i<=r; i++){
dp[i] = 1;
int highest = h[i-1];
for(int j = i-2; j>=l; j--){
if(h[j] + d <= highest && h[i] + d <= highest){
dp[i] = max(dp[i], dp[j] + 1);
}
if(h[j] > highest) highest = h[j];
}
ans = max(ans, dp[i]);
}
return ans;
}
// int main(void){
// freopen("input.txt", "r", stdin);
// int n1; cin>>n1;
// vector<int> h1(n1, 0);
// for(int i = 0; i<n1; i++) cin>>h1[i];
// init(n1, h1);
// int q1; cin>>q1;
// for(int i = 0; i<q1; i++){
// int a, b, d;
// cin>>a>>b>>d;
// cout<<max_towers(a, b, d);
// }
// }| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
