JZOJ1416. 生日聚餐(2017.8B组)
来源:互联网 发布:linux device is busy 编辑:程序博客网 时间:2024/05/21 08:54
Description
Alice在餐馆里当服务员,今天是她生日,她请求厨师帮她准备生日晚餐,晚餐由N种原料做成,每道菜所需每种原料的数量是一样的。
厨房里有一些原料,但不够,Alice还需要从旁边的超市中购买一些回来。超市里什么原料都有,每种原料都分大包装和小包装。Alice有M元钱,她想利用这M元钱购买原料使得能做出最多的菜。
Input
第一行包含两个整数N和M(1<=N<=100,1<=M<=100000),接下来N行,每行包含6个正整数,用来描述这种原料的信息,具体如下:
(1) X:10<=X<=100,表示一道菜中必须含有这种原料的数量;
(2) Y:1<=Y<=100,表示这种原料厨房已有的数量;
(3) Sm:1<=Sm<=100,表示超市里小包装中含有这种原料数量;
(4) Pm:10<=Pm<=100,表示小包装的价格;
(5) Sv:1<=Sv<=100,表示超市里大包装中含有这种原料数量;
(6) Pv:10<=Pv<=100,表示大包装的价格;
Output
输出最多能做多少道菜。
Sample Input
输入1:
2 100
10 8 10 10 13 11
12 20 6 10 17 24
输入2:
3 65
10 5 7 10 13 14
10 5 8 11 14 15
10 5 9 12 15 16
Sample Output
输出1:
5
输出2:
2
Data Constraint
Hint
【样例说明】
样例1中,Alice购买第一种原料3个小包装和1个大包装,购买第二种原料1个小包装和2个大包装,一共花费3×10+1×11+1×10+2×24=99元。
两种原料的数量分别为51个(8+3×10+11)和60个(20+1×6+2×17),可以做出5道菜。
想法:
二分答案,贪心或dp预处理判断,
贪心:
对于每个i,枚举第一种有多少个,就可以得出第二中有多少个,判断sum《mid即可
Dp:
预处理f[i][j]表是第i种原料,用j的价钱最多买多少个,二分最小的x使得f[i][x]>x[i]*mid-y[i]
- JZOJ1416. 生日聚餐(2017.8B组)
- 2017.08.15【NOIP提高组】模拟赛B组 生日聚餐
- 第七届蓝桥杯大赛个人赛省赛(软件类)java语言B组第二题:生日蜡烛
- 2016 第七届蓝桥杯省赛B组第二题--生日蜡烛
- 第七届蓝桥杯B组 第二题 生日蜡烛
- 第七届蓝桥杯JAVA语言B组_生日蜡烛
- 恶灌满门2007-04-19(聚餐)
- [网络流24题] 05 圆桌聚餐(最大流判满流)
- [Usaco2008 Feb]Eating Together麻烦的聚餐(DP)
- android常用小工具聚餐(不定期part)
- 解题报告(4)——麻烦的聚餐
- bzoj1609 [Usaco2008 Feb]Eating Together麻烦的聚餐(dp)
- 【网络流24题】圆桌聚餐(二分图)
- 宿舍聚餐
- 今天聚餐
- 团队聚餐
- 元宵聚餐
- 班级聚餐
- Maven 如何打包可运行jar包
- 【loli的胡策】NOIP训练8.15(找规律+暴力)
- SVM支持矢量机
- 关于thinkphp框架的防止非法进入+frame框架强制主页面退出
- C++(5):C++模板
- JZOJ1416. 生日聚餐(2017.8B组)
- Android-JNI开发-环境配置(eclipse)
- java.security.AccessControlException: access denied (java.lang.RuntimePermission accessDeclaredMembe
- 0814Link
- GitHub 排名前 100 的安卓、iOS项目简介
- POJ 1088 滑雪
- storm解析及wordcount简单实例
- Java多线程
- git命令合并分支代码