網頁

2014年1月19日 星期日

UVa 11292 Dragon of Loowater


想法:

  1. 排序m[i]與n[i]由小到大
  2. 一一找尋並累加money


#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
int M,N,i,j; // M: number of heads, N: number of knights
int m[20010],n[20010]; // m[i]: diameter of head, n[i]: height of knight
while (scanf("%d %d",&M,&N)){
if (!M && !N) break;
for(i=0;i<M;i++) scanf("%d",&m[i]);
for(i=0;i<N;i++) scanf("%d",&n[i]);
sort(m,m+M);
sort(n,n+N);
long long int paid=0;
for(i=0,j=0;i<N;i++){
if(n[i] >= m[j]){
paid += n[i];
if(++j == M) break;
}
}
if(j == M) printf("%lld\n",paid);
else printf("Loowater is doomed!\n");
}
return 0;
}

沒有留言:

張貼留言