uva 11292 The Dragon of Loowater(贪心)
题目大意:
你的王国里有一条n个头的恶龙,你希望雇一些骑士把它杀死(即砍掉所有头)。村里有m个骑士可以雇佣,一个能力值为x的骑士可以砍掉恶龙一个直径不超过x的头,且需要支付x个金币。如何雇佣骑士才能砍掉恶龙的所有头,且需要支付的金币最少?注意,一个骑士只能砍一个头(且不能被雇佣两次)。
输入格式
输入包含多组数据。每组数据的第一行为正整数n和m(1≤n,m≤20 000);以下n行每行为一个整数,即恶龙每个头的直径;以下m行每行为一个整数,即每个骑士的能力。输入结束标志为n=m=0。
输出格式
对于每组数据,输出最少花费。如果无解,输出“Loowater isdoomed!”。
【样例输入】
2 3
5
4
7
8
4
2 1
5
5
10
0 0
【样例输出】
11
Loowater is doomed!
/*
能力强的骑士开价高是合理的,但如果被你派去砍一个很弱的头,就是浪费人才了。
因此,可以把雇佣来的骑士按照能力从小到大排序,所有头按照直径从小到大排序
一个一个砍就可以了。
当然,不能砍掉“当前需要砍的头”的骑士就不要雇佣了
从资金最少考虑 显然正确。若不这样做可能反而会砍不掉所有头。
a[i]能砍 a[i+1]能砍 显然用a[i],并且a[i+1]可能以后还有更大的发挥空间.
从能将所有头砍掉的角度来看
若a[i]刚好砍掉 那么[1..i]的被舍弃骑士显然也不能砍掉 所以这个角度也是正确的
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm> using namespace std;
int n,m,x,ans,cur;
int a[],b[]; bool cmp(int a,int b)
{
if(a>b) return ;
else return ;
} int main()
{
while(scanf("%d%d",&n,&m))
{
ans=;cur=;
if(n==&&m==) return ;
for(int i=;i<n;i++)
scanf("%d",&a[i]);
for(int i=;i<m;i++)
scanf("%d",&b[i]);
sort(a,a+n);
sort(b,b+m);
for(int i=;i<m;i++)
{
if(b[i]>=a[cur])
{
ans+=b[i];
if(++cur==n)
break;
}
}
if(cur<n) cout<<"Loowater is doomed!"<<endl;
else
cout<<ans<<endl;
}
return ;
}
心若向阳 无谓悲伤
uva 11292 The Dragon of Loowater(贪心)的更多相关文章
- 贪心/思维题 UVA 11292 The Dragon of Loowater
题目传送门 /* 题意:n个头,m个士兵,问能否砍掉n个头 贪心/思维题:两个数组升序排序,用最弱的士兵砍掉当前的头 */ #include <cstdio> #include <c ...
- UVa 11292 The Dragon of Loowater 【贪心】
题意:有一条有n个头的恶龙,有m个骑士去砍掉它们的头,每个骑士可以砍直径不超过x的头,问怎样雇佣骑士,使花的钱最少 把头的直径从小到大排序,骑士的能力值也从小到大排序,再一个一个地去砍头 #inclu ...
- UVa 11292 The Dragon of Loowater 勇者斗恶龙
你的王国里有一条n个头的恶龙,你希望雇佣一些骑士把它杀死(也就是砍掉所有的头).村里有m个骑士可以雇佣,一个能力值为 x 的骑士可以砍掉恶龙一个直径不超过 x 的头,且需要支付 x 个金币.如何雇佣骑 ...
- UVA 11292 - The Dragon of Loowater (water)
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=sh ...
- UVA - 11292 Dragon of Loowater 贪心
贪心策略:一个直径为X的头颅,应该让雇佣费用满足大于等于X且最小的骑士来砍掉,这样才能使得花费最少. AC代码 #include <cstdio> #include <cmath&g ...
- UVA 11292 Dragon of Loowater(简单贪心)
Problem C: The Dragon of Loowater Once upon a time, in the Kingdom of Loowater, a minor nuisance tur ...
- UVA它11292 - Dragon of Loowater
Problem C: The Dragon of Loowater Once upon a time, in the Kingdom of Loowater, a minor nuisance tur ...
- uva 11292 Dragon of Loowater (勇者斗恶龙)
Problem C: The Dragon of Loowater Once upon a time, in the Kingdom of Loowater, a minor nuisance tur ...
- cogs 1405. 中古世界的恶龙[The Drangon of Loowater,UVa 11292]
1405. 中古世界的恶龙[The Drangon of Loowater,UVa 11292] ★ 输入文件:DragonUVa.in 输出文件:DragonUVa.out 简单对比时间 ...
随机推荐
- Spring框架中 配置c3p0连接池
开发准备: 1.导入jar包: ioc基本jar jdbcTemplate基本jar c3p0基本jar 别忘了mysql数据库驱动jar 原始程序代码:不使用配置文件方式(IOC)生成访问数据库对象 ...
- mysql replication driver 在jdk1.6下失效问题解决
mysql diver包里有relication driver,可以在jdbc层进行读写分离,主写从读默认的配置方式是指定driver为ReplicationDriver,并改写jdbc url一起j ...
- [OJ#39]左手右手
[OJ#39]左手右手 试题描述 有 n 个人,每个人左右手上各写着一个整数.对于编号为 a 的人和编号为 b 的人, a 对 b 的好感度等于 a 左手上写的数字乘 b 右手上写的数字,a 和 b ...
- [luoguP1045] 麦森数(快速幂 + 高精度)
传送门 这道题纯粹是考数学.编程复杂度不大(别看我写了一百多行其实有些是可以不必写的). 计算位数不必用高精时刻存,不然可想而知时间复杂度之大.首先大家要知道一个数学公式 logn(a*b)=logn ...
- 1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组
1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组 #include <iostream> #include <string> #include & ...
- 移动端 js 实现图片上传 预览
方法一: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&q ...
- 条款一:仔细区别pointers 和 reference
1.一个reference必须总代表某个对象,没有所谓的null reference.如果你有一个变量,其目的是用来指向(代表)另一个对象,但是也有可能它不指向(代表)另一个对象,那么应该使用poin ...
- ubuntu VSFTPD搭建FTP服务器 提示530错误
配置完 vsftpd ,发现不能登录,提示 530 错误.解决方法如下: sudo rm /etc/pam.d/vsftpd 注:因为 ubuntu 启用了 PAM,所在用到 vsftp 时需要用到 ...
- Codeforces Round #271 (Div. 2) D. Flowers (递推 预处理)
We saw the little game Marmot made for Mole's lunch. Now it's Marmot's dinner time and, as we all kn ...
- webpack—入门
点击进入webpack官网.,开始教程时,建议先学习ES6语法,也请先观看本篇Windows符号介绍文章,当所有webpack内容学习完后,会有一个专门的介绍 webpack四个核心概念(从官网入门— ...