This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "towers.h"
#include <vector>
using namespace std;
int valley[100100];
vector<int>H;
void init(int N, std::vector<int> H_) {
H=H_;
for(int i=1;i<N;i++)
valley[i]=valley[i-1]+(H[i]<H[i-1]&&H[i]<H[i+1]);
}
int dp[100100];
int max_towers(int l, int r, int D) {
int ans=0;
for(int i=l;i<=r;i++){
dp[i]=0;
int mx=0;
for(int j=i;j-->l;){
if(mx>=max(H[j],H[i])+D)
dp[i]=max(dp[i],dp[j]);
mx=max(mx,H[j]);
}
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... |