60222023-10-24 19:41:24UVinceBefektetéscpp11Accepted 40/4021ms5280 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;

struct prop {
	int price;
	int val;
	int tax;
	bool operator<(const prop& masik) const {
		return tax<masik.tax;
	}
};

int dp[4001];

int main() {
	int n,k;
	cin>>n>>k;
	vector<prop> p(n);
	int ans=0;
	for (int i=0;i<n;i++){
		cin>>p[i].price>>p[i].val>>p[i].tax;
	}
	sort(p.begin(), p.end());

	for (auto i : p){
		for (int j=k;j>=i.price;j--){
			dp[j]=max(dp[j], dp[j-i.price]+i.val);
		}
		for (int j=0;j<=k-i.tax;j++){
			ans=max(ans, dp[j]);
		}
	}
	cout<<ans;
}
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/03ms1820 KiB
2Accepted0/04ms2196 KiB
3Accepted2/23ms2236 KiB
4Accepted2/22ms2320 KiB
5Accepted1/13ms2464 KiB
6Accepted2/23ms2544 KiB
7Accepted2/23ms2684 KiB
8Accepted2/23ms2896 KiB
9Accepted2/23ms3132 KiB
10Accepted2/23ms3356 KiB
11Accepted3/38ms3748 KiB
12Accepted3/38ms4220 KiB
13Accepted3/38ms4448 KiB
14Accepted3/38ms4448 KiB
15Accepted3/38ms4704 KiB
16Accepted4/48ms4704 KiB
17Accepted1/121ms4920 KiB
18Accepted1/120ms4996 KiB
19Accepted1/121ms5072 KiB
20Accepted1/121ms5128 KiB
21Accepted1/121ms5212 KiB
22Accepted1/121ms5280 KiB