HDU 2546 饭卡 (变形01背包)
来源:互联网 发布:linux 下安装vsftpd 编辑:程序博客网 时间:2024/04/30 08:46
饭卡
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 21574 Accepted Submission(s): 7539
Problem Description
电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。
某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。
某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。
Input
多组数据。对于每组数据:
第一行为正整数n,表示菜的数量。n<=1000。
第二行包括n个正整数,表示每种菜的价格。价格不超过50。
第三行包括一个正整数m,表示卡上的余额。m<=1000。
n=0表示数据结束。
第一行为正整数n,表示菜的数量。n<=1000。
第二行包括n个正整数,表示每种菜的价格。价格不超过50。
第三行包括一个正整数m,表示卡上的余额。m<=1000。
n=0表示数据结束。
Output
对于每组输入,输出一行,包含一个整数,表示卡上可能的最小余额。
Sample Input
1505101 2 3 2 1 1 2 3 2 1500
Sample Output
-4532
Source
UESTC 6th Programming Contest Online
Recommend
lcy
重点:最后选择的一定为最大的,而一般的01背包的选择是只将物品选中没有在意他的顺序,所以此处需要排序
对于每一个物品能够花费的钱的个数为总零钱+当前物品价格-5
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int MAXN = 1e3 + 5;const int INF = 0x3f3f3f3f;int n, m;int V[MAXN];int dp[MAXN + 100];int main(){ while(~scanf("%d", &n), n){ for(int i = 0;i < n;i ++){ scanf("%d", &V[i]); } scanf("%d", &m); int Max = 0; sort(V, V + n);//确保最后选择的时最大的菜 memset(dp, 0, sizeof(dp)); for(int i = 0;i < n;i ++){ for(int j = m + V[i] - 5;j >= V[i];j --){ dp[j] = max(dp[j], dp[j - V[i]] + V[i]); Max = max(Max, dp[j]); } } printf("%d\n", m - Max); } return 0;}
1 0
- hdu 2546 饭卡(01背包变形)
- HDU 2546--饭卡【01背包变形】
- HDU 2546 饭卡 (变形01背包)
- HDU 2546 饭卡 01背包变形
- 饭卡 HDU-2546 【01背包变形】
- HDU 2546 饭卡(01背包小变形)
- HDU 2546 饭卡( 变形01背包)两种思路
- hdu 2546 饭卡【01背包变形||记忆化搜索】
- 01背包变形 HDU 2660
- 01背包变形 HDU 3496
- HDU 3466 01背包变形
- hdu 1171 01背包变形
- hdu 2955(01背包变形)
- HDU 1171 01背包变形
- 【01背包变形】 饭卡
- HDU 2546 饭卡(0/1背包变形)
- hdu 2955 01 背包小变形
- hdu 2955 Robberies 01背包变形
- python scrapy 使用时报错 cannot import name xmlrpc_client
- [windows 10编译CNTK]
- android bitmap compress(图片压缩)
- PHP中的魔术方法总结 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep
- android开发之Nine-Patch图片
- HDU 2546 饭卡 (变形01背包)
- CodeForces 213C-Relay Race
- [Cloud Computing]Mechanisms: Data Transport
- Android进阶之6.0运行时权限处理
- How to display a byte array as hex values
- 机器学习算法:从原理到实践(持续更新中...)
- thinkPHP学习_第一天
- The value of the project attribute is null
- xxtea 加密解密