和1264一模一样,理解题意即可
#include<stdio.h>
int up[1005]={0},down[1005]={0},a[1005]={0};
int main(){
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",a+i);
up[i]=down[i]=1;
}
for(int i=0;i<n;i++)
for(int j=0;j<i;j++){
if(a[i]>a[j]){
if(up[i]<up[j]+1){
up[i]=up[j]+1;
}
}
}
for(int i=n-1;i>=0;i--)
for(int j=n-1;j>i;j--){
if(a[i]>a[j]){
if(down[i]<down[j]+1){
down[i]=down[j]+1;
}
}
}
int max=0;
for(int i=0;i<n;i++){
if(max<up[i]+down[i]-1)
max=up[i]+down[i]-1;
}
printf("%d",max);
return 0;
}