#include "towers.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=1e5;
ll n, a[N];
void init(int n1, vector<int> h) {
n=n1;
for(ll i=0; i<n; i++){
a[i]=h[i];
}
}
int max_towers(int l, int r, int d) {
ll ans[n][2];
for(ll i=r; i>=l; i--){
ans[i][0]=1;
ans[i][1]=0;
for(ll j=i+1; j<=r; j++){
if(a[i]+d<=a[j]) ans[i][0]=max(ans[i][0],ans[j][1]+1);
else if(a[i]>=a[j]+d) ans[i][1]=max(ans[i][1],ans[j][0]);
}
// cout<<i<<" "<<ans[i][0]<<" "<<ans[i][1]<<endl;
}
ll max_ans=0;
for(ll i=l; i<=r; i++){
max_ans=max(max_ans,ans[i][0]);
}
return max_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... |