#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
int n,m;//龙头的数量和骑士的数量
//int sum=0;第一次出错是因为我把sum的定义放在了这里,以至于每组数据使用的sum都是前一组数据留下来的未清理的数据
while(scanf("%d%d",&n,&m)==2&&n&&m)
{
int sum=0;//记录最后花费的能力值
int *head=new int[n];//记录每个头的直径
int *energy=new int[m];//记录每个勇士的能力值
//读入n个龙头的直径
for(int i=0;i<n;i++)
{
scanf("%d",&head[i]);
}
//读入m个勇士的能力值
for(int i=0;i<m;i++)
{
scanf("%d",&energy[i]);
}
sort(head,head+n);
sort(energy,energy+m);
int i,j;
for(i=0,j=0;i<n&&j<m;)
{
if(head[i]<=energy[j])
{
sum+=energy[j];
i++;
j++;
}
else
j++;
}
if(i==n)
printf("%d\n",sum);
else
printf("Loowater is doomed!\n");
}
return 0;
}
Uva11292
最新推荐文章于 2018-07-09 20:30:31 发布