Proud Merchants

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)
Total Submission(s): 4219    Accepted Submission(s): 1740

Problem Description
Recently, iSea went to an ancient country. For such a long time, it was the most wealthy and powerful kingdom in the world. As a result, the people in this country are still very proud even if their nation hasn’t been so wealthy any more.
The merchants were the most typical, each of them only sold exactly one item, the price was Pi, but they would refuse to make a trade with you if your money were less than Qi, and iSea evaluated every item a value Vi.
If he had M units of money, what’s the maximum value iSea could get?

 
Input
There are several test cases in the input.

Each test case begin with two integers N, M (1 ≤ N ≤ 500, 1 ≤ M ≤ 5000), indicating the items’ number and the initial money.
Then N lines follow, each line contains three numbers Pi, Qi and Vi (1 ≤ Pi ≤ Qi ≤ 100, 1 ≤ Vi ≤ 1000), their meaning is in the description.

The input terminates by end of file marker.

 
Output
For each test case, output one integer, indicating maximum value iSea could get.

 
Sample Input
2 10
10 15 10
 5 10 5
3 10
5 10 5
3 5 6
2 7 3
 
Sample Output
5
11
题意:有n个商品,买第i个需要Pi元,但手中的钱必须大于Qi元 ,所获得的价值为Vi,问给出M元,获得的最大价值为多少?
思路: 每个商品按q-p排序才会得到正确结果
#include"cstdio"
#include"cstring"
#include"algorithm"
using namespace std;
const int MAXN=;
struct Node{
int P,Q,v;
}goods[];
int n,W;
int dp[];
int comp(Node a,Node b)
{
return a.Q-a.P < b.Q-b.P;
}
int main()
{
while(scanf("%d%d",&n,&W)!=EOF)
{
memset(dp,,sizeof(dp));
for(int i=;i<n;i++)
{
scanf("%d%d%d",&goods[i].P,&goods[i].Q,&goods[i].v);
}
sort(goods,goods+n,comp);
for(int i=;i<n;i++)
{
for(int j=W;j>=goods[i].Q;j--) dp[j]=max(dp[j],dp[j-goods[i].P]+goods[i].v);
}
printf("%d\n",dp[W]);
} return ;
}
 

最新文章

  1. php链接数据库 批量删除 和 注册审核
  2. MAC emacs下安装php-mode
  3. Xcode与OX 版本对照表
  4. Javascript日期与C# DateTime 转换
  5. 第二十七课:滚轮事件,mouseenter与mouseleave事件的修复
  6. iOS 开发进程与线程
  7. SimpleDateFormat()简单了解
  8. php判断来源网址地址并且限制非法来源
  9. ios 判断空字符串
  10. WIN7 64位配置Oracle SQL Developer工具
  11. [TYVJ] P1005 采药
  12. 浅谈UE4引擎
  13. java--从控制台读入一些数据
  14. 高度关注!国务院对A股发出强烈信号↓
  15. 系统如何端子app弄root才干
  16. [图形学] Chp8.7.2 梁友栋-Barsky线段裁剪算法
  17. springMVC中使用POI方式导出excel至客户端、服务器实例
  18. Detours修改段属性漏洞
  19. [Swift]LeetCode293. 翻转游戏 $ Flip Game
  20. 批量屏蔽符合条件的IP地址,支持添加白名单,IP段,增量,大于指定次数的IP

热门文章

  1. Objective C block背后的黑魔法
  2. java与MFC中的一些常识
  3. vs2012编译ffmpeg
  4. 【Bootstrap】一个兼容IE8、谷歌等主流浏览器的受众门户式风格页面
  5. 安卓UI适配限定符
  6. byte数组和文件的相互转换
  7. CCNET自动构建之路
  8. 误用了 react-scripts eject 命令
  9. javaweb开发之jsp
  10. 九度OJ 1123:采药 (01背包、DP、DFS)