1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
#include<bits/stdc++.h>
using namespace std;
int n,a[2000005],l[2000005],s[2000005],t,m;
int main(){
    ios::sync_with_stdio(0);cin.tie(0);
    cin>>n;
    for(int i=0;i<n;++i){cin>>a[i];a[i+n]=a[i];}
    for(int i=2*n-1;i>=0;--i){
        while(t&&a[s[t-1]]<=a[i])--t;
        l[i]=t?1+l[s[t-1]]:1;
        s[t++]=i;
        if(i<n)m=max(m,l[i]);
    }
    cout<<m<<'\n';
}