博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVa 11292 - Dragon of Loowater
阅读量:6293 次
发布时间:2019-06-22

本文共 790 字,大约阅读时间需要 2 分钟。

题目:一条龙有n个头。有m个勇者。勇者的能力值大于龙头的大小就能打败他,每一个勇者须要能力值对等的佣金,

            问使用至少多少钱能够杀掉龙。

分析:贪心。首先,将龙和勇者斗都递增排序;然后,每次雇佣当前能力值最小的能够杀龙的勇者就可以。

           (假设当前的勇者导致不适最优解,则他之前有比他佣金高的,则他一定更早被雇佣)

说明:田忌赛马(⊙_⊙)。

#include 
#include
#include
#include
using namespace std;int d[20001];int k[20001];int main(){ int n,m; while ( scanf("%d%d",&n,&m) && n+m ) { for ( int i = 0 ; i < n ; ++ i ) scanf("%d",&d[i]); for ( int i = 0 ; i < m ; ++ i ) scanf("%d",&k[i]); sort( d, d+n ); sort( k, k+m ); int now = 0,sum = 0,flag = 0; for ( int i = 0 ; i < n ; ++ i ) { while ( now < m && d[i] > k[now] ) now ++; if ( now >= m ) { flag = 1; break; }else sum += k[now ++]; } if ( flag ) printf("Loowater is doomed!\n"); else printf("%d\n",sum); } return 0;}

转载地址:http://tqdta.baihongyu.com/

你可能感兴趣的文章
Oracle取月份,不带前面的0
查看>>
Linux Network Device Name issue
查看>>
IP地址的划分实例解答
查看>>
如何查看Linux命令源码
查看>>
运维基础命令
查看>>
入门到进阶React
查看>>
SVN 命令笔记
查看>>
检验手机号码
查看>>
重叠(Overlapped)IO模型
查看>>
Git使用教程
查看>>
使用shell脚本自动监控后台进程,并能自动重启
查看>>
Flex&Bison手册
查看>>
solrCloud+tomcat+zookeeper集群配置
查看>>
/etc/fstab,/etc/mtab,和 /proc/mounts
查看>>
Apache kafka 简介
查看>>
socket通信Demo
查看>>
技术人员的焦虑
查看>>
js 判断整数
查看>>
mongodb $exists
查看>>
js实现页面跳转的几种方式
查看>>