回答必关
#include<bits/stdc++.h>
using namespace std;
int n,ans1,ans2;
int a[50010];
int f[50010],dp[50010];
int main(){
cin>>n;
for(n=1;cin>>a[n];n++){
dp[n]=f[n]=1;
}
for(int i=1;i<=n;i++){
for(int j=1;j<i;j++){
if(a[j]>=a[i])dp[i]=max(dp[i],dp[j]+1);
}
ans1=max(ans1,dp[i]);
}
for(int i=1;i<=n;i++){
for(int j=1;j<i;j++){
if(a[j]<a[i])f[i]=max(f[i],f[j]+1);
}
ans2=max(ans2,f[i]);
}
cout<<ans1<<"\n"<<ans2;
return 0;
}