代码:
//
// main.cpp
// 30
// 动态规划,最长不下降子序列
// Created by 岳海林 on 2019/8/16.
// Copyright © 2019 岳海林. All rights reserved.
//
#include <iostream>
using namespace std;
const int N = 100;
int A[N],dp[N];
int main(int argc, const char * argv[]) {
// insert
int n ;
cin>>n;
for (int i = 1; i<=n; i++) {
cin>>A[i];
}
int ans = -1;
for (int i = 1;i<=N; i++) {
dp[i] = 1;
for (int j = 1; j<=i; j++) {
if (A[i]>=A[j]&&(dp[j]+1>dp[i])) {
dp[i] = dp[j]+1;
}
}
ans = max( ans, dp[i]);
}
cout<<ans;
}