//这就是普通的最长递减子序列问题 ,用动态规划
#include<iostream>
#include<math.h>
using namespace std;
int nums[26];
int dp[26]; //dp[i][j]表示从i
int main(){
int k;
cin>>k;
int maxl=0;
for(int i=1;i<=k;i++){
cin>>nums[i];
dp[i]=1;
}
for(int i=1;i<=k;i++){
for(int j=1;j<i;j++){
if(nums[i]<=nums[j]){
dp[i]=max(dp[j]+1,dp[i]);
}
}
}
for(int i=1;i<=k;i++){
maxl=max(maxl,dp[i]);
}
cout<<maxl;
return 0;
}
/*
8
300 207 155 300 299 170 158 65
*/

京公网安备 11010502036488号