int a[205],d[205];
int main()
{
int n,ans;
while(cin>>n)
{
memset(d,0,sizeof(d));
for(int i=1;i<=n;i++)cin>>a[i];
d[1]=1;
for(int i=2;i<=n;i++)
{
ans=0;
for(int j=1;j<i;j++)
if(a[i]<=a[j] && ans<d[j]+1)
ans=d[j];
d[i]=ans+1;
}
ans=0;
for(int i=1;i<=n;i++)
ans=max(ans,d[i]);
cout<<ans<<endl;
}
}
导弹拦截(动态规划)
最新推荐文章于 2025-06-10 15:18:20 发布