#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];
bool vis[N];
signed main(){
int n;
cin>>n;
set<int>st;
vector< pair<int,int>>v;
for(int i=1;i<=n;i++){
cin>>a[i];
v.pb({a[i],i});
st.insert(a[i]);
}
int ans=0;
sort(v.begin(),v.end());
while(*prev(st.end())){
while(v.size() and *prev(st.end()) <=v.back().ff){
vis[v.back().ss]=1;
v.pop_back();
}
int k=0;
for(int i=1;i<=n;i++){
if(vis[i] and vis[i-1]==0)k++;
}
ans=max(ans,k);
if(v.empty())break;
st.erase(prev(st.end()));
}
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... |