hdu1257 最少拦截系统 (贪心)

#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 最少拦截系统 (贪心))