题目
代码
#include<bits/stdc++.h>
using namespace std;
int a[1000];
int dp[1000];
int ans[1000];
int maxn=-1e9,t,l;
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++){
for(int j=0;j<i;j++){
if(a[i]>=a[j]){
dp[i]=max(dp[i],dp[j]+1);
maxn=max(dp[i],maxn);
if(maxn==dp[i]) t=i;
}
}
}
cout<<"max="<<maxn;
int k=a[t];
cout<<endl;
for(int i=t;i>=1;i--){
if(k>=a[i]) {
ans[l]=a[i];
++l;
k=a[i];
}
}
for(int i=l-1;i>=0;i--) cout<<ans[i]<<" ";
return 0;
}
60分求助!