献上蒟蒻的代码:
#include <iostream>
#include<stdio.h>
#include <algorithm>
using namespace std;
int dp1[101],dp2[101],a[101],n;
int main() {
for(n=1;scanf("%d",&a[n])==1;n++){}
n--;
int ans1=0,ans2=0;
for(int i=1;i<=n;i++){
dp1[i]=dp2[i]=1;
for(int j=1;j<i;j++){
if(a[j]<a[i]){
dp1[i]=max(dp1[i],dp1[j]+1);
}
if(a[j]>a[i])
dp2[i]=max(dp2[i],dp2[j]+1);
}
ans1=max(ans1,dp1[i]);
ans2=max(ans2,dp2[i]);
}
cout<<ans2<<endl<<ans1;
return 0;
}