/*
* UVA_11292.cpp
*
* Created on: 2013年11月17日
* Author: Administrator
*/
#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
const int maxn =20010;
int a[maxn];
int b[maxn];
int main(){
int n,m;
while(scanf("%d%d",&n,&m)!=EOF,n||m){
int i;
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;
int 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;
}
(UVA step1)UVA 11292 The Dragon of Loowater(有n条恶龙,m个骑士,求杀死恶龙的最小代价)
最新推荐文章于 2021-04-07 11:37:29 发布
这篇博客介绍了一个解决UVA_11292问题的方法,涉及到输入数据的读取、数组排序及条件判断等关键步骤。通过将输入数组排序并使用双指针策略,程序能够高效地找到满足特定条件的目标值,展示了解决此类问题的实用技巧。

450

被折叠的 条评论
为什么被折叠?



