#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n;
cin>>n;
int num[n],dp[n];
for(int i=0;i<n;i++){
cin>>num[i];
dp[i]=0;
}
int ans=-1;
for(int i=0;i<n;i++)
{
dp[i]=max(dp[i],1);//最短起码为1
for(int j=i+1;j<n;j++)
{
if(num[j]>=num[i])//连续
dp[j]=max(dp[j],dp[i]+1);//刷新dp[j]
}
ans=max(ans,dp[i]);//找最长上升子序列长度
}
cout<<ans<<endl;
return 0;
}
最长上升子序列长度
最新推荐文章于 2020-10-18 17:43:58 发布