UVA 11292 勇者斗恶龙

这道题极其简单,贪心即可。

具体程序如下:

#include<cstdio>
#include<algorithm>
using namespace std;
int a[20010],b[20010];
int main(){
	int j,k,i,sum=0,n,m;
	while(scanf("%d%d",&n,&m)==2 && n && m){
		for(i=0;i<n;i++)
			scanf("%d",&a[i]);
		for(i=0;i<m;i++)
			scanf("%d",&b[i]);
		sort(a,a+n);
		sort(b,b+m);
		int cur=0,cost=0;
		for(i=0;i<m;i++){
			if(b[i]>=a[cur]){
				cost+=b[i];
				if(++cur==n)
					break;
			}
		}
		if(cur<n)
			printf("Loowater is doomed!\n");
		else
			printf("%d\n",cost);
	}
	return 0;
}

很容易吧,相信自己,一定可以AC的!

你可能感兴趣的:(UVA 11292 勇者斗恶龙)