这道题极其简单,贪心即可。
具体程序如下:
#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的!