Submission #1055616

#TimeUsernameProblemLanguageResultExecution timeMemory
1055616vjudge1송신탑 (IOI22_towers)C++17
11 / 100
4075 ms1964 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...