A - 小彭玉的扫荡食堂计划

Time Limit: 20000/10000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others)
Submit Status

Problem Description

哗啦啦村的食堂很奇怪,就是如果这个饭卡所剩金额低于5元的话,这个饭卡就不能刷了。

也就是说,只要这个饭卡金额大于等于5元,就可以随便刷~

有一天,小彭玉看了看哗啦啦食堂的饭,“哇,好好吃!我要全部都买下来!”

但是小彭玉并没有那么多钱,于是他准备充分利用自己的钱,去买这些食物!

请问最后小彭玉的饭卡余额最少能到多少?

Input

多组测试数据(最多100组)

第一行 n,表示有n个菜

第二行 接下来n个数字,a[i]表示第i道菜多少钱

第三行 一个数m,表示小彭玉的饭卡,一开始有m元

1<=n<=1000,1<=a[i]<=10000,1<=m<=10000

Output

输出一个整数,表示最后饭卡显示的金额数

Sample Input

1
10000
6
10
1 2 3 2 1 1 2 3 2 1
50

Sample Output

-9994
32解法:01背包的使用,因为5块钱可以买任何东西,所以,我们把价格最贵的菜独自拿出来,我们只需要用(N-1)份菜去查找价钱容量为(M-5),所能够买到的最大值。最后在减去价格最大的那份菜的价格即可。

 1 #include<stdio.h>
 2  #include<string.h>
 3  #include<iostream>
 4  #include<algorithm>
 5  using namespace std;
 6  #define MAX 10100
 7  int DP[MAX];
 8  int val[MAX];
 9  int main()
10  {
11      int N,M,i,j,Max;
12      while(scanf("%d",&N)!=EOF)
13      {
14         for(i=0,Max=0;i<N;i++)
15         {
16             scanf("%d",&val[i]);
17             if(val[i]>Max)Max=val[i];/*取最大值*/
18         }
19         scanf("%d",&M);
20         for(i=0;i<=M;i++)DP[i]=0;
21         if(M<5||N==0){printf("%d\n",M);continue;}
22         else
23         {
24             int sign=1;
25             for(i=0;i<N;i++)
26             {
27                 if(sign&&val[i]==Max)/*去除一次最大值*/
28                     {sign=0;continue;}
29                 for(j=M-5;j>=val[i];j--)
30                 {
31                     if(DP[j]<DP[j-val[i]]+val[i])
32                     {
33                         DP[j]=DP[j-val[i]]+val[i];
34                     }
35                 }
36             }
37             printf("%d\n",M-DP[M-5]-Max);
38         }
39      }
40      return 0;
41  }

View Code

转载于:https://www.cnblogs.com/Wurq/p/4574064.html

A - 小彭玉的扫荡食堂计划相关推荐

  1. 小彭玉的扫荡食堂计划

    Problem Description 哗啦啦村的食堂很奇怪,就是如果这个饭卡所剩金额低于5元的话,这个饭卡就不能刷了. 也就是说,只要这个饭卡金额大于等于5元,就可以随便刷- 有一天,小彭玉看了看哗 ...

  2. acdream 1725 哗啦啦的小彭玉染色问题 离散化并查集

    哗啦啦的小彭玉染色问题 Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://acdream.info/problem?pid=1725 Descri ...

  3. 山东工业大学计算机及应用,彭玉旭副教授

    [1] 彭玉旭,张力军.Ad Hoc中基于位置的路由转发策略比较.解放军理工大学学报,2004,5(6):21-24. [2] Pengyuxu,Zhang lijun, Virtual Destin ...

  4. “北漂”小夫妻新婚后的理财计划

    "北漂"小夫妻新婚后的理财计划 提要: 经过多年的努力打拼, 1976 年出生的姜帆终于在京城站稳脚跟, 做上了一家大公司的业务主管,今年"十一"国庆节还 和谈 ...

  5. 软件工程毕业设计课题(78)微信小程序毕业设计PHP校园食堂就餐预约小程序系统设计与实现

    项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于微信高校食堂就餐预约小程序系统,前台用户使用小程序,小程序使用微信开发者工具开发:后台管理使用基PP+MySql的B/S架构,开发工具使用p ...

  6. 小羊的暑假博客计划教程索引

    小羊的暑假博客计划

  7. 适合小团队协作、任务管理、计划和进度跟踪的项目任务管理工具有哪些?

    适合小团队协作.任务管理.计划和进度跟踪的项目任务管理工具有哪些? 大家可以参考这个模板: http://s.fanruan.com/irhj8 管理项目归根结底在管理人.物,扩展来说便是: 人:员工 ...

  8. 小彭语录 2008-02-29

    摘自"小彭语录" 2月29日 I have a dream 我曾经见过许多眼睛,也时常注视自己的眼睛,从中可以明白许多事情.信息和经验是可以积累的,但是更多的东西却无法积累.人不能 ...

  9. 算法题-小彭十分喜欢烤串,但是他的钱只能买固定的烤串的数量M,假设这些烤串的价格相同且恰逢店老板正在举办活动,每个烤串都是用各种不同的食材串成(其中也包括种类相同的)且每个烤串都有三个食材。食材有豆腐

    算法题-小彭十分喜欢烤串,但是他的钱只能买固定的烤串的数量M,假设这些烤串的价格相同且恰逢店老板正在举办活动,每个烤串都是用各种不同的食材串成(其中也包括种类相同的)且每个烤串都有三个食材.食材有豆腐 ...

最新文章

  1. Microsoft Visual Studio 2012 添加实体数据模型
  2. 手握173篇论文的学术新星被指造假!后续:博士论文被召回
  3. 关于BMP格式图像的理解和读写(c++).docx
  4. Java虚拟机详解05----垃圾收集器及GC参数
  5. zookeeper常见问题总结
  6. 蓝桥杯 试题 基础练习 Huffuman树——13行代码AC
  7. Nginx学习之十四-GDB调试Nginx初试
  8. MYSQL 自定义排序
  9. 一维数组所有元素是否大于_【C语言】- 指向一维数组元素的指针!你今天学习了吗?...
  10. oracle备份出现问题,TSM + Oracle备份出现问题
  11. Vue快速上手笔记2 - 开发环境的搭建
  12. html 给一个无限宽,html – CSS div与其内容一样宽
  13. Geek(一个好用的强力卸载软件工具,包括注册表所有依赖项全部清理掉)
  14. linux电视第三方软件安装,三星TV只需几个简单的步骤即可安装第三方TV软件教程!...
  15. android 绘制分割线,Android 布局中分割线创建的三种方式
  16. CSS设置背景图像的属性
  17. 09 TypeError: Descriptors cannot not be created directly.
  18. 三星A7100手机更换电池方法拆电池方法
  19. PyTorch强化:01.PyTorch 数据加载和处理
  20. 技术人员的赚钱之道-1:开篇

热门文章

  1. 尼加拉瓜咖啡java等级_7月12日杯測豆:JavaNica-尼加拉瓜檸檬樹莊園咖啡
  2. 微信小程序点击地址,跳转到地图导航
  3. JS实现最美的3D宇宙效果
  4. 疲劳驾驶数据集_Lyft开源L5自动驾驶数据集:55000个人工标注的3D注释框架,还有高清空间语义地图...
  5. 简单的制作一个钓鱼网页!
  6. Linux下MongoDB的入门安装、配置与启动
  7. 大二学计算机专业职业规划,大学生计算机专业职业生涯规划2000字
  8. 淘宝二维码显示与隐藏
  9. 云服务器和一般服务器之间有什么区别?
  10. saber 2016打不开帮助文档