只要帮改正错误都有关注
#include<bits/stdc++.h>
using namespace std;
int a[100001],dp_d[100001],dp_u[100001],ans_d=-1,ans_u=-1,n=1;
int main(){
while(cin>>a[n]) dp_d[n]=1,dp_u[n]=1,n++;
n--;
for(int i=2;i<=n;i++) for(int j=1;j<i;j++){
if(a[j]>=a[i]) dp_d[i]=max(dp_d[i],dp_d[j]+1);
if(a[j]<a[i]) dp_u[i]=max(dp_u[i],dp_u[j]+1);
}
for(int i=1;i<=n;i++){
ans_d=max(dp_d[i],ans_d);
ans_u=max(dp_u[i],ans_u);
}
cout<<ans_d<<endl<<ans_u;
return 0;
}