题目描述

终于,破解了千年的难题。小FF找到了王室的宝物室,里面堆满了无数价值连城的宝物……这下小FF可发财了,嘎嘎。但是这里的宝物实在是太多了,小FF的采集车似乎装不下那么多宝物。看来小FF只能含泪舍弃其中的一部分宝物了……小FF对洞穴里的宝物进行了整理,他发现每样宝物都有一件或者多件。他粗略估算了下每样宝物的价值,之后开始了宝物筛选工作:小FF有一个最大载重为W的采集车,洞穴里总共有n种宝物,每种宝物的价值为v[i],重量为w[i],每种宝物有m[i]件。小FF希望在采集车不超载的前提下,选择一些宝物装进采集车,使得它们的价值和最大。

输入输出格式

输入格式:

第一行为一个整数N和w,分别表示宝物种数和采集车的最大载重。

接下来n行每行三个整数,其中第i行第一个数表示第i类品价值,第二个整数表示一件该类物品的重量,第三个整数为该类物品数量。

输出格式:

输出仅一个整数ans,表示在采集车不超载的情况下收集的宝物的最大价值。

输入输出样例

输入样例#1:

  4 20
3 9 3
5 9 1
9 4 2
8 1 3
输出样例#1:

  47

说明

对于30%的数据:n≤∑m[i]≤10^4;0≤W≤10^3。

对于100%的数据:n≤∑m[i]≤10^5;

0 <w≤4*10^4:1≤n<100。

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#define lli long long int
using namespace std;
const int MAXN=;
const int maxn=0x3f;
void read(int &n)
{
char c='+';int x=;bool flag=;
while(c<''||c>''){c=getchar();if(c=='-')flag=;}
while(c>=''&&c<='')
x=(x<<)+(x<<)+c-,c=getchar();
flag==?n=-x:n=x;
}
int n,m;
struct node
{
int va,we,num;
}a[MAXN];
int dp[MAXN];
int main()
{
read(n);read(m);
for(int i=;i<=n;i++)
{
read(a[i].va);
read(a[i].we);
read(a[i].num);
}
for(int i=;i<=n;i++)
{
int left=(a[i].num);
for(int k=;left;k<<=)
{
if(k>left)
k=left;
left-=k;
int w=a[i].we*k;
int v=a[i].va*k;
for(int j=m;j>=w;j--)
dp[j]=max(dp[j],dp[j-w]+v);
}
}
printf("%d",dp[m]);
return ;
}

最新文章

  1. MongoDB分组汇总操作,及Spring data mongo的实现
  2. Autoit3 正则表达式 匹配汉字
  3. ASP.NET MVC视图中的@Html.xxx(...)
  4. mac攻略(五) -- 使用brew配置php7开发环境(mac+php+apache+mysql+redis)
  5. hdu 5666 (大数乘法) Segment
  6. MySQL全文索引应用简明教程
  7. 公交wifi运营平台分析
  8. JVM的GC机制及JVM的调优方法
  9. 【Java】 实现一个简单文件浏览器(2)
  10. [HDU 1973]--Prime Path(BFS,素数表)
  11. 状态压缩dp(hdu2167,poj2411)
  12. input标签禁止输入,隐藏光标
  13. ubuntu 14.04 vim YoucompleteMe 代码自动补全工具安装
  14. java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present错误
  15. vue (实战)登录1
  16. vue elementui switch开关控件的使用
  17. MVC 学习
  18. java各种框架的比较,分析
  19. 在C++程序中开启和禁用Windows设备的无线网卡的方法
  20. python打造12306余票实时监控

热门文章

  1. 如何用写js弹出层 ----2017-03-29
  2. block的一些注意事项
  3. 使用log4net记录日志到数据库(含自定义属性)
  4. jquery分页点击后页面置顶
  5. Linux top命令简解
  6. 微信小程序 input使用letter-spacing失效问题
  7. c# rc4算法,加密解密类
  8. Oracle [sys_connect_by_path] 函数
  9. web产品浏览器兼容性问题你有考虑到吗?
  10. 第五章 Python之装饰器