#include<bits/stdc++.h>
using namespace std;
int a[1001000],n,st[1001000]={0},maxx,minn,all[1001000];
long long ans=0;
void push(int x){st[++st[0]]=x;}
int top(){return st[0]?st[st[0]]:0x80000000;}
int main(){
cin>>n;
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
for (int i=n;i>=1;i--){
if(a[i]>top()){
push(a[i]);
all[st[0]]=a[i];
}if(a[i]<top()){
all[st[0]]=min(a[i],all[st[0]]);
ans=max(ans,(long long)st[st[0]]-(long long)all[st[0]]);
}
}
printf("%lld",ans);
}
这个我看了好久,为嘛会错啊!!
感谢感谢