#include <bits/stdc++.h>
using namespace std;
int gw(int N, int *H) {
map<int, vector<int>> mp;
vector<int> ativo(N+2, 0);
for(int i=0;i<N;i++) {
auto p = mp.find(H[i]);
if(p==mp.end()) mp.insert({H[i], vector<int>(1, i+1)});
else p->second.push_back(i+1);
}
int cur=0, ans=0;
for(auto p = mp.rbegin(); p!=mp.rend(); p++) {
auto &v = p->second;
for(auto i : v) {
if(!ativo[i-1]&&!ativo[i+1]) cur++;
else if(ativo[i-1]&&ativo[i+1]) cur--;
ativo[i]=1;
}
ans=max(ans, cur);
}
return ans;
}
int h[1<<20];
int main() {
cin.tie(nullptr);
ios::sync_with_stdio(false);
int n;
cin >> n;
for(int i=0;i<n;i++) cin >> h[i];
cout << gw(n, h) << endl;
}
# | 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... |