#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 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... |