饭卡

                                                                             Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
                                                                                                      Total Submission(s): 23677    Accepted Submission(s): 8321

Problem Description
电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。
某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。
Input
多组数据。对于每组数据:
第一行为正整数n,表示菜的数量。n<=1000。
第二行包括n个正整数,表示每种菜的价格。价格不超过50。
第三行包括一个正整数m,表示卡上的余额。m<=1000。

n=0表示数据结束。

Output
对于每组输入,输出一行,包含一个整数,表示卡上可能的最小余额。
Sample Input
1 50 5 10 1 2 3 2 1 1 2 3 2 1 50 0
Sample Output
-45 32
Source
UESTC 6th Programming Contest Online
#include <iostream>
#include <string.h>
#include <algorithm>
#include <cstdio>using namespace std;int main()
{int n,m,price[1010],dp[1010];while(~scanf("%d",&n)&&n){for(int i=0; i<n; i++)scanf("%d",&price[i]);sort(price,price+n);scanf("%d",&m);if(m<5)  printf("%d\n",m);else{memset(dp,0,sizeof(dp));for(int i=0; i<n-1; i++)for(int j=m-5; j>=price[i]; j--)if(dp[j]<dp[j-price[i]]+price[i])dp[j]=dp[j-price[i]]+price[i];printf("%d\n",m-price[n-1]-dp[m-5]);}}return 0;
}

HDU2546-饭卡相关推荐

  1. HDU2546 饭卡【贪心+0-1背包】

    饭卡 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission ...

  2. uestc 1012 饭卡

    饭卡(card) Time Limit: 1000 ms Memory Limit: 65535 kB Solved: 253 Tried: 2169 Submit Status Best Solut ...

  3. HDU 2564 饭卡

    饭卡 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  4. 饭卡(HDOJ2546)

    饭卡 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  5. HDU 2546 饭卡(贪心+DP)

    题目链接 几个月之前做的一个题了,开始想时就看出应该是个01背包问题,又发现不太一样,貌似应该是有种贪心策略,把最大的挑出来最后还有5块钱的再买,剩下的体积用01背包去求最优选择,当时WA了3次,以为 ...

  6. HDOJ 2546饭卡(01背包问题)

    http://acm.hdu.edu.cn/showproblem.php?pid=2546 Problem Description 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如 ...

  7. HDU 2546 饭卡(01背包裸题)

    饭卡 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  8. hduoj 2546饭卡

    饭卡 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  9. cuid卡写入后锁死_荣耀手机NFC升级了:公交、门禁、支付、饭卡、加密卡还能写卡...

    2019年双十一期间,入手了荣耀magic2手机,其实去年用过一次,今年换了多次还是特别喜欢,主要是麒麟980旗舰CPU,全面滑屏特有面子. 入手的第一时间,自己就启用了手机的钱包功能,手机钱包除了小 ...

  10. 【HDU - 2546】饭卡 (dp,0-1背包,贪心思想)

    电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够).所以大家 ...

最新文章

  1. python 搜索插入位置
  2. 改变循环执行的状态,循环程序举例
  3. 奔跑了24年,中国零售业会员制到底该怎么玩?
  4. VVC编码进展:码率降低,速度仍需提升
  5. oracle desc能看约束,ORACLE 12C新特性-DESC显示不可见字段 | 信春哥,系统稳,闭眼上线不回滚!...
  6. [Java基础]体验Stream流
  7. 详解Ubuntu Server下启动/停止/重启MySQL数据库的三种方式(ubuntu 16.04)
  8. python查询当前路径_python获取当前目录路径和上级路径的实例
  9. 电子元器件简介——电容与电感篇
  10. 验证信用卡c语言,信用卡卡号验证算法
  11. 【MOOC】计算机网络与通信技术笔记(北交)(3)数据链路层
  12. jdk1.8换成11,启动项目报错java.net.MalformedURLException: unknown protocol: jrt
  13. 163vip邮箱登陆有哪些方法?哪种最便捷?
  14. 正则匹配 正则表达式在线工具
  15. windows开启远程桌面,防火墙拦截:只允许特定IP远程
  16. java verify_java – 什么时候使用Mockito.verify()?
  17. php网页怎么和PLC通讯,plc网络通讯方式和协议
  18. 汽车结构嵌件市场现状及未来发展趋势
  19. 【HoloLens2之Development Console 窗口关闭】
  20. 街边小投资冷门暴利行业有哪些?做什么生意利润高?

热门文章

  1. 简单的VIP判定思路
  2. 学习XILINX HLS工具的官方资料
  3. 华为HCIA备考(数通) 易错题整理 PART1
  4. 15个常用excel函数公式_Excel求和公式函数的使用方法教程
  5. 解决计算机的一些小问题,电脑故障怎么办?排除法解决电脑的一些小问题
  6. Python数据分析库pandas基本操作
  7. 数学小课堂:数学和哲学的互动关系(自洽的哲学思想受益于数学思维)
  8. 腾讯御安全加固保护简单分析
  9. 软考A计划-电子商务设计师-电商设计师重点
  10. STM32 同一定时器四路不同占空比PWM输出+舵机角度精准控制