1076: 饭卡

时间限制: 1 Sec  内存限制: 128 MB

题目描述

CSU本部食堂的饭卡有一种很诡异的设计——在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。
某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。

输入

多组数据。对于每组数据:
第一行为正整数n,表示菜的数量。n<=1000。
第二行包括n个正整数,表示每种菜的价格。价格不超过50。
第三行包括一个正整数m,表示卡上的余额。m<=1000。

输出

对于每组输入,输出一行,包含一个整数,表示卡上可能的最小余额。

样例输入

1
50
5
10
1 2 3 2 1 1 2 3 2 1
50

样例输出

-45
32

来源/分类

代码:

#include<stdio.h>
int max(int a,int b){if(a>b)return a;elsereturn b;
}
void quicksort(int r[],int low,int high){int temp;int i=low,j=high;if(low<high){temp = r[low];while(i<j){while(i<j){while(j>i&&(r[j])>=(temp))--j;if(i<j){r[i]=r[j];++i;}while(i<j&&(r[i])<(temp))++i;if(i<j){r[j]=r[i];--j;}}r[i]=temp;quicksort(r,low,i-1);quicksort(r,i+1,high);}}
}
int main(){int n;//菜的数量while(scanf("%d",&n)!=EOF){int mon[n];int i,j;for(i=0;i<n;i++){scanf("%d",&mon[i]);}int money;scanf("%d",&money);int dp[money];for(i=0;i<money;i++)dp[i]=0;quicksort(mon,0,n-1);if(money-5<0)printf("%d\n",money);else{for(i=0;i<n-1;i++){for(j=money-5;j>=mon[i];j--){dp[j]=max(dp[j],dp[j-mon[i]]+mon[i]);}}printf("%d\n",money-dp[money-5]-mon[n-1]);}}
}

中南大学复试上机:饭卡相关推荐

  1. 中南大学复试上机:1021:机器人走迷宫

    1021: 机器人走迷宫 时间限制: 1 Sec  内存限制: 128 MB 题目描述 有一个愚蠢的机器人走进一个w*h的迷宫,迷宫里有空地和陷阱.他想要访问迷宫的每个方格,但是它很笨,只会按照指令的 ...

  2. 中南大学复试上机:1009: 安全路径

    1009: 安全路径 时间限制: 1 Sec  内存限制: 128 MB 提交: 445  解决: 82 [提交] [状态] [讨论版] [命题人:外部导入] 题目描述 卫斯理小说经常提及外星人,比如 ...

  3. uestc 1012 饭卡

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

  4. HDU 2564 饭卡

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

  5. 饭卡(HDOJ2546)

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

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

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

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

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

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

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

  9. hduoj 2546饭卡

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

最新文章

  1. 串口接收数据与分析处理
  2. 五指CMS发布,主打高性能
  3. Spartan-6 FPGA SelectIO Resources User Guide 笔记2 SelectIO Attributes/Constraints
  4. 响应式API的设计、实现和应用
  5. ab st语言编程手册_从零开始学习ST/SCL编程语言:一赋值及条件执行指令的讲解...
  6. 编辑框CEdit自动换行简单设置
  7. 【博客项目】—密码加密( 六)
  8. 老男孩高端linux培训2014业务服务范围
  9. 六千字干货文:到底要怎么去学算法?
  10. lpt监控安装_LPT说明书
  11. 对数据库中的数据(用户名/密码)加密解密
  12. LibreCAD+Mingw编译记录
  13. VoIP通话-基于SIP协议的Asterisk(一)-实现流程
  14. YOLO V2得到的启发
  15. 读过的laravel文章
  16. 计算机电源维修tny279,电源管理芯片TNY279P
  17. 【Android】Bug:SSL peer shut down incorrectly 的解决方法
  18. 研发主管的烦恼:选择KPI还是选择OKR?
  19. 计算机体系结构 第5章 指令级并行及其开发—硬件方法(3)
  20. 关于联通手机营业厅中的在线销户,大家有什么想说的?

热门文章

  1. 农业品牌进行展会招商时最易犯的六种错误
  2. png文件太大如何压缩?PNG图片压缩工具分享
  3. 《剑指offer》(第二版)题集目录索引
  4. 高效沟通先从倾听开始|做一个会倾听的人
  5. 小程序vant-weapp-商品卡片列表
  6. 2018天猫双11各项数据发布
  7. 免费使用chatgpt一分钟教你
  8. 正态分布中normpdf和normcdf的区别
  9. matlab相关性分析及检验,科学网—EOF分析及Mann-Kendall检验相关的Matlab函数 - 刘永和的博文...
  10. 优采云自动文章采集器到底怎么样?怎么做?