https://uva.onlinejudge.org/external/112/11292.pdf
#include<stdio.h>
#include<algorithm>
#define N 20005
using namespace std;
int dragon[N],knight[N];
int main(){
int n,m;
while(scanf("%d%d",&n,&m)>0&&n&&m){
for(int i=0;i<n;i++)
scanf("%d",&dragon[i]);
for(int i=0;i<m;i++)
scanf("%d",&knight[i]);
sort(dragon,dragon+n);
sort(knight,knight+m);
int cur=0,sum=0;
for(int i=0;i<m;i++){
if(knight[i]>=dragon[cur]){
sum+=knight[i];
cur++;
if(cur==n)
break;
}
}
if(cur<n)
printf("Loowater is doomed!\n");
else
printf("%d\n",sum);
}
return 0;
}
赤裸裸的贪心算法,大白书上的第一题。开刷。