UVA - 11292 Dragon of Loowater


vjudgeのテーマはPDFで、コピーしにくいので、ここにリンクします
                               http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=19048
     感慨vjudgeは本当に良いもので、もし劉汝佳の本の上のテーマがどのようにブラシするか分からないならば、テーマの英語は少し多くて、大意は1匹の怪物のnの頭で、mの騎士は頭を切って、すべての頭はiに値して、能力はkの騎士は毎回値がkの頭より小さいことを切ることができて、しかし同時に値がkの給料を支払って、あなたに最もお金を節約する方法は何ですかを聞いて、すべての頭を切り落とせないならprintf(「Loowater is doomed!」); 
    私たちはこのように考えることができて、最後にすべての頭が切られる以上、すべての頭は自分を切ることができる最悪の騎士を選ぶべきで、もし最後に騎士がいないことに気づいたら、怪物が死なないことを説明します.
# include <cstdio>
# include <algorithm>
using namespace std;

const int size = 20005;

int main()
{
	
	int head[size],knight[size];
	int n,m,i,j,cnt;
	while (~scanf("%d%d",&n,&m)&&n)
	  {
	    for (i=0;i<n;i++)
	        scanf("%d",head+i);
        for (j=0;j<m;j++)
            scanf("%d",knight+j);
        sort(head,head+n);
        sort(knight,knight+m);
        cnt = i = j = 0;
        while (i<n&&j<m)
          {
            if (head[i]<=knight[j])
		        cnt += knight[j],i++,j++;
			else 
			    j++;  
		  }
        if (i>=n)
          printf("%d
",cnt); else printf("Loowater is doomed!
"); } return 0; }