UVA - 11292 Dragon of Loowater

vjudge上的题目是PDF,不方便复制,这里上链接

                               http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=19048

     感慨vjudge真是好东西,要不都不知道刘汝佳书上的题目要怎么刷,题目英文有点多,大意就是一只怪物n个头,m个骑士去砍头,每个头有一个值为i,能力为k的骑士每次能砍下值小于等于k的头,但同时要支付值为k的薪水,问你最省钱的方式是什么,如果砍不下所有的头,那就printf("Loowater is doomed!\n");  

    我们可以这样想,既然到了最后每颗头都是要被砍下来的,那每颗头就应该选一个能砍下自己的最差的骑士,如果最后发现骑士没了,就说明怪物杀不死。

# 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\n",cnt);
        else 
		  printf("Loowater is doomed!\n");  
	  }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值