#include <bits/stdc++.h>
#define ll long long
#define sz(x) int(x.size())
#define forn(i,n) for(i=0; i<n; i++)
#define all(x) x.begin(),x.end()
#define pb push_back
#define mp make_pair
#define fr first
#define se second
using namespace std;
ll ma=0, pos=0, n;
vector<int>h;
void init(int N, std::vector<int> H) {
h=H;
n=N;
}
int max_towers(int L, int R, int D) {
vector<int>dp(n,1);
ll i, j;
for(i=L; i<=R; i++)
{
ll ma=-1;
for(j=i-1; j>=L; j--)
{
if(h[i]<=ma-D&&h[j]<=ma-D)
dp[i]=max(dp[i],dp[j]+1);
ma=max(ma,1ll*h[j]);
}
}
int ans=0;
for(i=L; i<=R; i++)
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... |