#include <stdio.h>
#define MAXN 30002
int main()
{
int n,j,i,ans,hmax[MAXN],arr[MAXN];
while(scanf("%d",&n)!=EOF)
{
memset(hmax,0,sizeof(hmax));
for(i=0;i<n;++i)
scanf("%d",&arr[i]);
hmax[0]=0;
ans=1;
for(i=0;i<n;++i)
{
for(j=0;j<ans;++j)
{
if(arr[i]<=hmax[j])
{//每一发炮弹都不能超过前一发的高度
hmax[j]=arr[i];
break;
}
if(arr[i]>hmax[j]&&j==ans-1)
hmax[ans++]=arr[i];
}
}
printf("%d\n",ans-1);
}
return 0;
}
hdu1257 最少拦截系统 (贪心)
最新推荐文章于 2022-11-03 13:04:29 发布