60222023-10-24 19:41:24UVinceBefektetéscpp11Elfogadva 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/40
1Elfogadva0/03ms1820 KiB
2Elfogadva0/04ms2196 KiB
3Elfogadva2/23ms2236 KiB
4Elfogadva2/22ms2320 KiB
5Elfogadva1/13ms2464 KiB
6Elfogadva2/23ms2544 KiB
7Elfogadva2/23ms2684 KiB
8Elfogadva2/23ms2896 KiB
9Elfogadva2/23ms3132 KiB
10Elfogadva2/23ms3356 KiB
11Elfogadva3/38ms3748 KiB
12Elfogadva3/38ms4220 KiB
13Elfogadva3/38ms4448 KiB
14Elfogadva3/38ms4448 KiB
15Elfogadva3/38ms4704 KiB
16Elfogadva4/48ms4704 KiB
17Elfogadva1/121ms4920 KiB
18Elfogadva1/120ms4996 KiB
19Elfogadva1/121ms5072 KiB
20Elfogadva1/121ms5128 KiB
21Elfogadva1/121ms5212 KiB
22Elfogadva1/121ms5280 KiB