203512026-01-06 16:42:50horkaBefektetéscpp17Elfogadva 40/4070ms536 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	int n,k; cin>>n>>k;
	vector<array<int, 3>> v(n+1); //{ado,ar,ertek}
	for(int i=1; i<=n; i++)
	{
		cin>>v[i][1]>>v[i][2]>>v[i][0];
	}
	sort(v.begin(),v.end());
	vector<vector<int>> dp(2, vector<int> (k+1));
	int ans=0;
	for(int i=1; i<=n; i++)
	{
		auto [ado,ar,ert]=v[i];
		int p=i%2,q=1-p;
		for(int j=0; j<=k; j++)
			dp[p][j]=0;
		for(int j=1; j<=k; j++)
		{
			dp[p][j]=max(dp[q][j],dp[p][j-1]);
			if(j>=ar) dp[p][j]=max(dp[p][j],dp[q][j-ar]+ert);
		}
		ans=max(ans,dp[p][k-ado]);
	}
	cout<<ans;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/40
1Elfogadva0/01ms316 KiB
2Elfogadva0/06ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva1/11ms508 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms344 KiB
9Elfogadva2/21ms316 KiB
10Elfogadva2/21ms316 KiB
11Elfogadva3/318ms472 KiB
12Elfogadva3/318ms472 KiB
13Elfogadva3/318ms536 KiB
14Elfogadva3/318ms508 KiB
15Elfogadva3/318ms512 KiB
16Elfogadva4/418ms500 KiB
17Elfogadva1/170ms316 KiB
18Elfogadva1/170ms508 KiB
19Elfogadva1/170ms316 KiB
20Elfogadva1/170ms516 KiB
21Elfogadva1/170ms508 KiB
22Elfogadva1/170ms520 KiB