#include <iostream>
#include <algorithm>
using namespace std;
const int Nmax=1e6+5;
int n;
bool vis[Nmax];
struct ev{
int h;
int pos;
}v[Nmax];
bool cmp(ev a, ev b){
return a.h<b.h;
}
int main(){
cin>>n;
for (int i=0; i<n; i++){
cin>>v[i].h;
v[i].pos=i+1;
}
vis[0]=1;
vis[n+1]=1;
sort(v, v+n, cmp);
int ant=-1;
int mx=1, crt=1;
for (int i=0; i<n; i++){
if (v[i].h!=ant)
mx=max(mx, crt);
ant=v[i].h;
int pos=v[i].pos;
if (vis[pos-1]==0 && vis[pos+1]==0)
crt++;
else if (vis[pos-1]==1 && vis[pos+1]==1)
crt--;
vis[pos]=1;
}
mx=max(mx, crt);
cout<<mx;
return 0;
}
# | 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... |