caioj:1682: 【贪心】买一送一
题目描述
【题意】
CH最近在网上发现干草买一送一的一笔交易,他每买一捆尺寸为A的干草,就可以免费获赠一捆尺寸为 B (1 ≤ B < A)的干草,注意B < A。
然而,这个买卖是有限制的:需要花钱的干草都是高质量的,而免费赠送的都是次品。然而节俭的CH并不在意质量:为了省钱他会买任意质量的干草。
给出N捆高质量的干草,以及M捆次品干草,找出CH最多可以买到多少捆干草。他可以单独买高质量的干草而没有获赠免费的次品干草;但是他不能单独买次品干草。
【输入描述】
第1行: 两个用空格隔开的整数:N和M。
第2行到第N+1行:每行一个整数,表示一捆高质量干草的尺寸。
第N+2行到第N+M+1行:每行一个整数,表示一捆次品干草的尺寸。
【输出描述】
唯一一行:一个整数,表示CH可以买到干草的最大捆数。
【样例输入】
3 4
6
1
3
1
5
3
4
【样例输出】
5
【提示】
样例说明:
共有3捆高质量的干草,尺寸分别是6,1,和3; 共有4捆次品干草,尺寸分别是1,5,3,和4。
显然,FJ可以买到所有高质量的干草。当他买尺寸为6的高质量干草时,他可以获赠尺寸为3的次品。当他买尺寸为3的高质量干草时,他可以获赠尺寸为1的次品。然而,当他买质量为1的高质量干草时,无论如何,他都不可能再获赠次品干草。所以答案就是3+2=5。
1 ≤ A ≤ 1,000,000
1 ≤ N ≤ 10,000
1 ≤ M ≤ 10,000
题解:
这道题十分水,首先高级稻草我们可以全部买齐,每个低级稻草都要配对一个离它最近且比他大的稻草才不会浪费,最后加上能派对上高级稻草的低级稻草的个数
代码(建议自己打):
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int a[21000],b[21000],n,m;
int main()
{
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)scanf("%d",&a[i]);
for(int i=1;i<=m;i++)scanf("%d",&b[i]);
sort(a+1,a+n+1);
sort(b+1,b+m+1);
int ni=n;//ni表示没配对低级稻草的个数
for(int i=m;i>=1;i--)
{
if(ni==0)break;
if(b[i]<a[ni])ni--;//如果这颗高级稻草配对了一枚低级稻草,那么把他踢出为匹配队列
}
printf("%d\n",n+n-ni);
return 0;
}
注:上面的图片侵权抱歉!
caioj:1682: 【贪心】买一送一的更多相关文章
- CSU-2172 买一送一
CSU-2172 买一送一 Description ICPCCamp 有 n 个商店,用 1, 2, -, n 编号.对于任意 i > 1,有从商店 \(p_i\) 到 i 的单向道路. 同时, ...
- 牛客假日团队赛2 A.买一送一
链接: https://ac.nowcoder.com/acm/contest/924/A 题意: Farmer John在网上买干草.他发现了一笔特殊的买卖.他每买一捆大小为A(1 <= A ...
- 2019牛客国庆集训派对day3 买一送一
题目链接: 题意:有n个点,n-1条单向边,每个点都销售一类商品 问从点1开始走,买第一样商品类型为x,买第二样商品类型为y,问不同有序对<x,y>的数量 解法: col[i]表示这个点的 ...
- [牛客] [#1108 J] [树形结构] 买一送一
2019牛客国庆集训派对day3 链接:https://ac.nowcoder.com/acm/contest/1108/J来源:牛客网 题意 ICPCCamp 有 n 个商店,用 $1,2,..., ...
- CF335F Buy One, Get One Free 贪心
题意: \(n\)个物品,每个物品有一个价格,买一个高价格的物品,可以选择免费得到一个价格严格低于这个物品的物品.求得到\(n\)个物品的最小代价. 题解: 神仙贪心-- 题目要求求出最小代价,相当于 ...
- Leetcode 贪心 Best Time to Buy and Sell Stock
本文为senlie原创.转载请保留此地址:http://blog.csdn.net/zhengsenlie Best Time to Buy and Sell Stock Total Accepted ...
- 应用程序框架实战十八:DDD分层架构之聚合
前面已经介绍了DDD分层架构的实体和值对象,本文将介绍聚合以及与其高度相关的并发主题. 我在之前已经说过,初学者第一步需要将业务逻辑尽量放到实体或值对象中,给实体“充血”,这样可以让业务逻辑高度内聚, ...
- 小菜学习设计模式(一)—模板方法(Template)模式
前言 设计模式目录: 小菜学习设计模式(一)—模板方法(Template)模式 小菜学习设计模式(二)—单例(Singleton)模式 小菜学习设计模式(三)—工厂方法(Factory Method) ...
- 比较牛X的互联网公司都有哪些作死的行为
以下为近乎家的小近吐血整理: 1流氓行为 臭表碾说的就是你们! 百度 还有这种伪造网页弹窗: 360 不经同意,也不弹窗提醒,直接给我们安装推广软件.比较典型的是 腾讯 腾讯一直走在行业最前端,买 ...
随机推荐
- nopcommerce 3.6网银在线支付插件(源码)
网银在线支付插件,下载后通过后台插件管理安装.配置即可使用. 下载:网银在线支付插件3.1.3.6版.rar (106.3KB) 源代码放在\Plugins目录下,用vs打开重新生成. 源地址:htt ...
- Could not find or load main class Hello
在 linux 下写了一个非常简单的 Hello World 程序,编译正常,运行报错:Error: Could not find or load main class Hello 这是由于 CLAS ...
- TeeChart .NET for iOS图表开发入门教程
去年,TeeChart 为iOS图表开发专门发布了TeeChart NET for iOS(包含在TeeChart Mobile中),相信很多人都对其感兴趣.慧都为大家制作了TeeChart NET ...
- Java笔记 —— 方法重载和方法重写
Java笔记 -- 方法重载和方法重写 h2{ color: #4ABCDE; } a{ text-decoration: none !important; } a:hover{ color: red ...
- 浅谈SQL Server中的事务日志(二)----事务日志在修改数据时的角色
简介 每一个SQL Server的数据库都会按照其修改数据(insert,update,delete)的顺序将对应的日志记录到日志文件.SQL Server使用了Write-Ahead logging ...
- xfs管理2T以上大分区
设置gpt硬盘 parted /dev/sdb (parted) mklabel gpt (parted) mkpart primary xfs 0 -1 (Ignore) (parted) quit ...
- [转]linux tcp/ip调优
LINUX tcp/ip性能调优 On 2011年03月15日, in linux, tips, by netoearth 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接 ...
- ES7的Async/Await的简单理解
Async/Await 的个人见解 正文: async,顾名思义,一个异步执行的功能,而 await 则是配合 async 使用的另一个关键字,也是闻字识其意,就是叫你等待啦! 二者配合食用效果更佳哦 ...
- 解决ubuntu的chkconfig[/sbin/insserv 无法找到路径问题]
http://www.cnblogs.com/lost-1987/archive/2012/10/17/2727285.html 今天在虚拟机里做DRBD实验,使用chkconfig管理服务的时候,出 ...
- 如何将UI5应用部署到Fiori On-Premise和On-Cloud的Launchpad上去
On-Premise Launchpad 具体步骤参考我的博客: 如何将BSP应用配置成Fiori Launchpad上的一个tile On-Cloud Launchpad Fiori Cloud L ...