原封不动地搬动了上一道动规题目,把cardnum进行套到第一重,因为对应了第一组输入。 可以去参考https://ac.nowcoder.com/acm/problem/15032这道题,两道题是相同思路地。
Fighting!!!
#include<cstring>
const int N = 1e9 + 7;
using namespace std;
typedef long long ll;
ll sum,n;
ll a[110],dp[110],cardnum =0;;
int main(){
while(cin>>n)
{
cardnum=0;
for(int i =0;i<n;i++){
cin>>a[i];
}
for(int i =0;i<n;i++){
dp[i]=1;
}
for(int i =0;i<n;i++){
for(int j =0;j<i;j++){
if(a[i]>=a[j]){
dp[i]=max(dp[i],dp[j]+1);
}
}
cardnum=max(cardnum,dp[i]);
}
cout<<cardnum<<endl;
}
return 0;
}