# HDU 3466 Proud Merchants

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

#include<set>
#include<map>
#include<ctime>
#include<cmath>
#include<stack>
#include<queue>
#include<bitset>
#include<cstdio>
#include<string>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<functional>
#define rep(i,j,k) for (int i = j; i <= k; i++)
#define per(i,j,k) for (int i = j; i >= k; i--)
#define loop(i,j,k) for (int i = j;i != -1; i = k[i])
#define lson x << 1, l, mid
#define rson x << 1 | 1, mid + 1, r
#define fi first
#define se second
#define mp(i,j) make_pair(i,j)
#define pii pair<string,string>
using namespace std;
typedef long long LL;
const int low(int x) { return x&-x; }
const double eps = 1e-8;
const int INF = 0x7FFFFFFF;
const int mod = 1e9 + 7;
const int N = 1e5 + 10;
{
char ch = getchar();
while (ch<'0' || ch>'9') ch = getchar();
int x = ch - '0';
while ((ch = getchar()) >= '0'&&ch <= '9') x = x * 10 + ch - '0';
return x;
}
int T, n, m, f[N];

struct point
{
int x, y, z;
void read() { scanf("%d%d%d", &x, &y, &z); }
bool operator<(const point&a)const
{
return y - x < a.y - a.x;
}
}a[N];

int main()
{
while (scanf("%d%d", &n, &m) != EOF)
{
sort(a + 1, a + n + 1);
rep(i, 0, m) f[i] = 0;
rep(i, 1, n) per(j, m, a[i].y)
f[j] = max(f[j], f[j - a[i].x] + a[i].z);
printf("%d\n", f[m]);
}
return 0;
}

• 本文已收录于以下专栏：

## hdu3466Proud Merchants

• Fsss_7
• 2016年05月04日 15:28
• 523

## hdu3466-Proud Merchants

linkProblem DescriptionRecently, iSea went to an ancient country. For such a long time, it was the m...
• qq_21120027
• 2015年12月02日 16:31
• 247

## HDU 3466 Proud Merchants DP 分享排序方式的证明。。

• OceanLight
• 2012年08月14日 22:29
• 4601

## HDU-3466-Proud Merchants

• z309241990
• 2013年07月06日 21:04
• 585

## HDU 3466 Proud Merchants

Proud Merchants Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others...
• yao1373446012
• 2016年03月22日 13:41
• 154

## Proud Merchants HDU - 3466

• sunyutian1998
• 2017年09月04日 17:26
• 64

## hdu 3466 Proud Merchants

Problem Description   Recently, iSea went to an ancient country. For such a long time, it was the m...
• u010650359
• 2013年08月22日 16:07
• 691

## HDU 3466 Proud Merchants

Description Recently, iSea went to an ancient country. For such a long time, it was the most wealth...
• u010900851
• 2013年08月18日 13:47
• 464

## HDU - 3466 Proud Merchants

Proud Merchants Time Limit: 1000MS   Memory Limit: 65536KB   64bit IO Format: %I64d & %...
• qq_18738333
• 2015年03月29日 03:03
• 401

## HDU 3466 Proud Merchants

Proud Merchants Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others...
• yeguxin
• 2014年08月25日 20:21
• 265

举报原因： 您举报文章：HDU 3466 Proud Merchants 色情 政治 抄袭 广告 招聘 骂人 其他 (最多只允许输入30个字)