01背包,需要先对数据升序排序。这样保证优先购买最贵的东西,才满足背包条件。

 #include <stdio.h>
#include <string.h>
#include <stdlib.h> #define MAXNUM 1005 int prices[MAXNUM];
int dp[MAXNUM]; int mymax(int a, int b) {
return a>b ? a:b;
} int comp(const void *a, const void *b) {
return *(int *)b - *(int *)a;
} int main() {
int n, m;
int i, j, tmp; while (scanf("%d", &n)!=EOF && n) {
for (i=; i<=n; ++i) {
scanf("%d", &prices[i]);
} scanf("%d", &m); if (m < ) {
printf("%d\n", m);
continue;
} qsort(prices+, n, sizeof(int), comp);
memset(dp, , sizeof(dp)); for (i=; i<=n; ++i) {
for (j=m; j>=; --j) {
tmp = j - prices[i];
if (tmp >= ) {
dp[j] = mymax(dp[tmp]+prices[i], dp[j]);
} else {
dp[j] = mymax(prices[i], dp[j]);
}
}
} printf("%d\n", m-dp[m]);
} return ;
}

最新文章

  1. PHP基础
  2. python+selenium生成测试报告后自动发送邮件
  3. HDU 1241 (DFS搜索+染色)
  4. Javascript获取最近若干个月
  5. (转)关闭WordPress自动加载的Open Sans字体,总是连接googleapi.com,导致打开wordpress很慢
  6. css架构目标:预测,重用,扩展,维护
  7. bootstrap_下拉菜单+头部
  8. java音视频编解码问题:16/24/32位位音频byte[]转换为小端序short[],int[],以byte[]转short[]为例
  9. JPA + SpringData 操作数据库原来可以这么简单 ---- 深入了解 JPA - 1
  10. eslint 的基本配置介绍
  11. Fedora Linux中解决“xxx不在sudoers文件中”
  12. AtCoder Grand Contest 031 (AGC031) D - A Sequence of Permutations 其他
  13. 初始Mkaefile
  14. docker不能上传镜像到自己网站的仓库
  15. iReport官方文档(英文版本)+ iReport中文教程
  16. php环境安装
  17. 15.selenium_case04
  18. Dubbo原理解析-Dubbo内核实现之SPI简单介绍
  19. APUE习题3.2用dup实现dup2以及shell中重定向符号的使用
  20. zuul网关Filter处理流程及异常处理

热门文章

  1. Quora图片懒加载
  2. Lucene.net常用功能说明
  3. sql: 生日三个月内有效
  4. 一个用C#实现的虚拟WiFi设置程序
  5. 20151222jquery学习笔记--验证注册表单
  6. DataTable.ImportRow()与DataTable.Rows.Add()的区别
  7. [翻译][MVC 5 + EF 6] 4:弹性连接和命令拦截
  8. Linux下U盘的格式化
  9. OpenCV2学习笔记02:MSVC2013搭建OpenCV开发环境
  10. 【转】oracle PLSQL常用方法汇总