/*
题意:有一条长有n个头的恶龙,要雇佣一些骑士将龙杀死。
龙的头又直径,骑士能力有限。雇佣x号骑士需要花费x money。
x号骑士只能杀死直径小于等于x的龙头。要求最小花费杀死恶龙,
杀不死输出Loowater is doomed!
思路:贪心、排序
*/
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
const int N = 20005;
int a[N],b[N];
int main()
{
int n,m;
while(~scanf("%d%d",&n,&m)&&(n||m))
{
for(int i = 0;i < n;i++)
scanf("%d",&a[i]);
for(int i = 0;i < m;i++)
scanf("%d",&b[i]);
sort(a,a+n);
sort(b,b+m);
long long sum = 0,num = 0;
for(int i = 0;i < m;i++)
{
if(b[i] >= a[num])
{
sum += b[i];
num++;
}
if(num == n)
break;
}
if(num == n)
printf("%lld\n",sum);
else
printf("Loowater is doomed!\n");
}
}
/*
2 3
5 4
7 8 4
*/
UVA-11292 - Dragon of Loowater(排序)
最新推荐文章于 2023-04-15 19:00:26 发布