1283:登山
#include<iostream> #include<cstdio> using namespace std; const int N=1005; int a[N],b[N],c[N]; int main(){ int n,t,maxx=0; cin>>n; for(int i=1;i<=n;i++) scanf("%d",&a[i]); for(int i=1;i<=n;i++){ b[i]=1; for(int j=i-1;j>0;j--) if(a[i]>a[j])b[i]=max(b[i],b[j]+1); } for(int i=n;i>0;i--){ c[i]=1; for(int j=i+1;j<=n;j++) if(a[i]>a[j])c[i]=max(c[i],c[j]+1); } for(int i=1;i<=n;i++)maxx=max(maxx,b[i]+c[i]); printf("%d",maxx-1); return 0; }