100分待命,只过了前半数据
#include<bits/stdc++.h>
using namespace std;
int sum1,sum2,dp1[10010],dp2[10010],a[10010];
int main(){
int n=1;
while(cin>>a[n]){
dp1[n]=1;
dp2[n]=1;
n++;
}
n--;
for(int i=2;i<=n;i++){
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);
}
}
for(int i=1;i<=n;i++){
sum1=max(dp1[i],sum1);
sum2=max(dp2[i],sum2);
}
cout<<sum1<<endl<<sum2;
return 0;
}
2024-4-26 20:40:21