http://www.lydsy.com/JudgeOnline/problem.php?id=1618

裸的01背包,注意背包的容量不是v即可。

#include <cstdio>
#include <cstring>
#include <cmath>
#include <string>
#include <iostream>
#include <algorithm>
using namespace std;
#define rep(i, n) for(int i=0; i<(n); ++i)
#define for1(i,a,n) for(int i=(a);i<=(n);++i)
#define for2(i,a,n) for(int i=(a);i<(n);++i)
#define for3(i,a,n) for(int i=(a);i>=(n);--i)
#define for4(i,a,n) for(int i=(a);i>(n);--i)
#define CC(i,a) memset(i,a,sizeof(i))
#define read(a) a=getint()
#define print(a) printf("%d", a)
#define dbg(x) cout << #x << " = " << x << endl
#define printarr(a, n, m) rep(aaa, n) { rep(bbb, m) cout << a[aaa][bbb]; cout << endl; }
inline const int getint() { int r=0, k=1; char c=getchar(); for(; c<'0'||c>'9'; c=getchar()) if(c=='-') k=-1; for(; c>='0'&&c<='9'; c=getchar()) r=r*10+c-'0'; return k*r; }
inline const int max(const int &a, const int &b) { return a>b?a:b; }
inline const int min(const int &a, const int &b) { return a<b?a:b; } const int N=105, oo=~0u>>1;
int f[50005+5005], v[N], w[N], n, V; int main() {
read(n); read(V);
int mx=0;
for1(i, 1, n) { read(v[i]); read(w[i]); mx=max(v[i], mx); }
for1(i, 1, V+mx) f[i]=oo>>1;
for1(i, 1, n) {
for(int j=v[i]; j<=mx+V; ++j)
f[j]=min(f[j], f[j-v[i]]+w[i]);
}
int ans=oo;
for(int j=V; j<=mx+V; ++j) ans=min(ans, f[j]);
print(ans);
return 0;
}

Description

    约翰的干草库存已经告罄,他打算为奶牛们采购日(1≤日≤50000)磅干草.
    他知道N(1≤N≤100)个干草公司,现在用1到N给它们编号. 第i个公司卖的干草包重量为Pi(1≤Pi≤5000)磅,需要的开销为Ci(l≤Ci≤5000)美元.每个干草公司的货源都十分充足,可以卖出无限多 的干草包.    帮助约翰找到最小的开销来满足需要,即采购到至少H磅干草.

Input

    第1行输入N和日,之后N行每行输入一个Pi和Ci.

Output

 
    最小的开销.

Sample Input

2 15
3 2
5 3

Sample Output

9

FJ can buy three packages from the second supplier for a total cost of 9.

HINT

Source

最新文章

  1. 【转】工控老鬼】西门子S7200入门&amp;精通【1】S7200硬件大全
  2. mac os 错误提示:下载失败 使用已购页面再试一次 解决方法
  3. Cocos2d-x优化中纹理优化
  4. sql表设计器的几个默认值
  5. mongodb持久化
  6. Java使用默认浏览器打开指定URL
  7. 浅析深究什么是SOA?
  8. angular JS中使用jquery datatable添加ng-click事件
  9. Oracle 11g设置IP访问限制
  10. 扫描系统进程和获取某进程的PID
  11. Java中的Map List Set等集合类
  12. linux环境变量设置 以及 source命令 Linux 之 /etc/profile、~/.bash_profile 等几个文件的执行过程 Linux 设置环境变量
  13. 轻松学习java可重入锁(ReentrantLock)的实现原理(转 图解)
  14. (笔试题)质数因子Prime Factor
  15. 洛谷——P2784 化学1(chem1)- 化学合成
  16. Xamarin.Forms学习之位图(二)
  17. 2015.6.30 反弹的教训(想做T)
  18. Rails 状态码
  19. 【IntelliJ 】IntelliJ IDEA 15 创建maven项目
  20. spark streaming 接收kafka消息之四 -- 运行在 worker 上的 receiver

热门文章

  1. 聊聊高并发(二十)解析java.util.concurrent各个组件(二) 12个原子变量相关类
  2. npm run build:h5 报错
  3. 【微信小程序】request请求POST提交数据,记得要加上header
  4. FFmpeg 向视频中添加文字
  5. [Asp.net]Calendar+JqueryUi实现日程管理(右键菜单,添加,编辑,删除,源码)
  6. VS2008 格式化时候乱码 或者 为全为0
  7. hadoop+spark集群搭建入门
  8. Java Persistence with MyBatis 小结2
  9. PHP SOCKET编程(未完)
  10. RPC服务框架dubbo(三):Dubbo支持的协议