#include<bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
#define pb push_back
const int N=1e6+5;
int a[N];
signed main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
vector<int>v={a[1]};
for(int i=2;i<=n;i++){
if(a[i]!=v.back()){
v.pb(a[i]);
}
}
n=v.size();
vector<pair<int,int>>vc;
for(int i=1;i<=n;i++){
a[i]=v[i-1];
vc.pb({a[i],-i});
}
sort(vc.begin(),vc.end());
vector<bool>vis(n+1);
for(int i=1;i<=n;i++)vis[i]=1;
int h=1;
int l=0;
int ans=1;
for(auto p:vc){
int c=p.ff,x=p.ss*-1;
if(c!=l){
if(vis[x+1]==1 and vis[x-1]==1){
h++;
}
if(vis[x+1]==0 and vis[x-1]==0 and x!=1 and x!=n)h--;
vis[x]=0;
c=l;
}
ans=max(ans,h);
}
cout<<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... |