Problem 2116 买糖果
Time Limit: 1000 mSec    Memory Limit : 32768 KB

Problem Description

清明君、五一君和六一君三个人是好朋友。

他们很喜欢去一家糖果店买糖果,糖果店有巧克力和草莓两种口味的糖果出售。清明君喜欢吃巧克力味的糖果,六一君喜欢吃草莓味的糖果,五一君是个吃货,两种口味的糖果他都很喜欢吃。店老板把两种口味的糖果混在一起装在罐子里,于是每个罐子里每种糖果的数量都可能不相同。

这一天,清明君、五一君和六一君三个人去买糖果。他们的钱只能购买m罐糖果。清明君想要a颗巧克力味的糖果,六一君想要b颗草莓味的糖果,五一君则想要糖果的数量越多越好。五一君想知道在满足清明君和六一君的要求下,自己最多能吃到多少颗糖果。

Input

输入包含多组数据。

每组数据,第一行为两个整数n,m(1<=m<=n<=100),分别表示糖果店里糖果的总罐数和他们能够买到糖果的罐数。

接下来有n行,每行两个整数x,y(0<=x,y<=10),表示第i罐糖果里有x颗巧克力味糖果和y颗草莓味糖果。

最后一行为两个整数a,b。表示清明君想要a颗巧克力味的糖果,六一君想要b颗草莓味的糖果。

Output

每组测试数据输出一个整数占一行,为五一君最多能吃到糖果的个数。如果没有能满足清明君和六一君要求的方案,则输出-1。

Sample Input

3 21 103 23 45 3

Sample Output

4
题目链接
将二维背包转化为一维。
 
#include<cstdio>
#include<cstring>using namespace std;#define Max(a,b) (a>b?a:b);
#define Min(a,b) (a<b?a:b);int num[111][1100];int main()
{int n,m;int x,y;int i,j,k,s;while(scanf("%d%d",&n,&m)==2){memset(num,-1,sizeof(num));num[0][0]=0;s=0;for(k=1;k<=n;k++){scanf("%d%d",&x,&y);s+=x;i=Min(k,m);for(;i>=1;i--){for(j=s;j>=x;j--){if(num[i-1][j-x]!=-1){if(num[i][j]==-1)num[i][j]=num[i-1][j-x]+y;elsenum[i][j]=Max(num[i][j],num[i-1][j-x]+y);
//                      printf("k=%d i=%d j=%d num[i][j]=%d\n",k,i,j,num[i][j]);}}}}scanf("%d%d",&x,&y);int max=-1; for(i=x;i<=s;i++){if(num[m][i]>=y)max=Max(max,i+num[m][i]);}if(max!=-1)printf("%d\n",max-x-y);elseprintf("-1\n");}return 0;
}

Fuz OJ 2116 买糖果相关推荐

  1. 有一个糖果店的糖果有三种包装,分别是小包有6颗,中包有9颗,大包有20颗,如果我们只按整包买糖果,请问不能买到的糖果数最多是多少颗?

    有一个糖果店的糖果有三种包装,分别是小包有6颗,中包有9颗,大包有20颗,如果我们只按整包买糖果,请问不能买到的糖果数最多是多少颗? 小包6个 中包9个 则所有大于6的且是3的倍数的正整数都可买到(被 ...

  2. H C语言实验——买糖果

    H - C语言实验--买糖果 Description 小瑜是个爱吃糖果的馋鬼,天天嚷着要爸爸买糖果,可是爸爸很忙,哪有时间啊,于是就让小瑜自己去了,糖果3角钱一块,爸爸给小瑜n元钱,请你告诉小瑜最多能 ...

  3. power oj 1027 买花瓶(简单动态规划DP)

    Description john想买几个花瓶装饰一下新房.已知花店的花瓶被固定地排成一行并被依次排号,且花店有 一个原则,花瓶不能移动也不能挑选,只能买连号的花瓶.由于每个花瓶都有自己的美学价值, 请 ...

  4. 程序员多久才能在北京买房子?百练OJ:4022:买房子

    百练OJ:4022:买房子 题目链接:4022:买房子 描述 某程序员开始工作,年薪N万,他希望在中关村公馆买一套60平米的房子,现在价格是200万,假设房子价格以每年百分之K增长,并且该程序员未来年 ...

  5. 杭电oj题目题型分类(转)

    1001 整数求和 水题 1002 C语言实验题--两个数比较 水题 1003 1.2.3.4.5... 简单题 1004 渊子赛马 排序+贪心的方法归并 1005 Hero In Maze 广度搜索 ...

  6. 杭电OJ题目分类(转载)

    1001 整数求和 水题 1002 C语言实验题--两个数比较 水题 1003 1.2.3.4.5... 简单题 1004 渊子赛马 排序+贪心的方法归并 1005 Hero In Maze 广度搜索 ...

  7. HD OJ 题目分类

    动态规划:2037 2054 2084 hdu题目分类(转) http://blog.csdn.net/vsooda/article/details/7258791 1001 整数求和 水题 1002 ...

  8. HDOJ题目分类大全

    版权声明:本文为博主原创文章,欢迎转载,转载请注明本文链接! https://blog.csdn.net/qq_38238041/article/details/78178043 杭电里面有很多题目, ...

  9. HDU题目分类大全【大集合】

    基础题: 1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029.  1032.1037.1040.1048.1056.105 ...

最新文章

  1. ORACLE了局,每天10问(二)
  2. 基于java的作业管理系统_基于java的作业管理系统
  3. hadoop集群中的日志文件
  4. spring BeanFactory加载xml配置文件示例
  5. 2021-07-3022
  6. IE本地网页弹出黄条“限制网页脚本”
  7. Open vSwitch实验常用命令
  8. 51单片机50个实例代码_【附代码】51单片机电子密码锁教程
  9. docker搭建ldap
  10. Android Call requires API level 11 (current min is 8)的解决方案
  11. 读书笔记_代码大全_第14章_组织直线型代码_第15章_使用条件语句
  12. java integer_Java之Integer类
  13. Nginx作为WebSocket代理(Handshake failed due to invalid Upgrade header: null)
  14. Java之图书管理系统(手把手教程,超详细)
  15. redis搭建集群时报错CLUSTERDOWN Hash slot not served
  16. yd什么意思_YD是什么意思
  17. oracle 产品宣传片,史上最牛宣传片!河南的美已惊艳了世界!
  18. 凌晨起来肝的一篇 Java 学习路线,保证学弟学妹们大三大四的时候顺利找到实习 Offer
  19. 多颗微粒的阵列光镊系统设计
  20. 京东云服务器搭建mysql+jdk+tomact

热门文章

  1. Xmanager或者Xshell用户连接信息迁移
  2. R语言学习笔记:主成分分析及因子分析
  3. 神舟战神k650d系列风扇强冷如何开启
  4. Windows操作系统各版本的历史
  5. [图文教程]BIOS设置教程
  6. python中text格式_python读取各种格式的文本
  7. [洛谷]P3374 【模板】树状数组 1 (#树状数组)
  8. 免费PDF批量转换图片工具
  9. Go学习笔记 -- 通道实现协程等待
  10. 业务流程图绘制方法经验谈(下篇)