238532026-01-31 09:39:17matemakaiBefektetéscpp17Elfogadva 40/4023ms560 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	int n, x;
	cin >> n >> x;
	vector<tuple<int, int, int>> vec(n);
	for (int i = 0; i < n; ++i) {
		cin >> get<1>(vec[i]) >> get<2>(vec[i]) >> get<0>(vec[i]);
	}
	sort(vec.begin(), vec.end());
	vector<int> p(n), v(n), c(n);
	for (int i = 0; i < n; ++i) {
		auto [c_i, p_i, v_i] = vec[i];
		c[i] = c_i;
		p[i] = p_i;
		v[i] = v_i;
	}

	vector<long long> dp(x + 1);
	long long ans = 0;

	for (int i = 0; i < n; ++i) {
		for (int j = x; j >= 0; --j) {
			if (j - p[i] >= 0) {
				dp[j] = max(dp[j], dp[j - p[i]] + v[i]);
			}
		}
		ans = max(ans, dp[max(0, x - c[i])]);	
	}

	cout << ans << endl;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/40
1Elfogadva0/01ms316 KiB
2Elfogadva0/03ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva1/11ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/21ms316 KiB
10Elfogadva2/21ms316 KiB
11Elfogadva3/37ms508 KiB
12Elfogadva3/37ms560 KiB
13Elfogadva3/37ms464 KiB
14Elfogadva3/37ms512 KiB
15Elfogadva3/37ms460 KiB
16Elfogadva4/47ms316 KiB
17Elfogadva1/121ms516 KiB
18Elfogadva1/121ms516 KiB
19Elfogadva1/123ms528 KiB
20Elfogadva1/123ms520 KiB
21Elfogadva1/123ms316 KiB
22Elfogadva1/123ms528 KiB