203512026-01-06 16:42:50horkaBefektetéscpp17Accepted 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;
}
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/01ms316 KiB
2Accepted0/06ms316 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted1/11ms508 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted2/21ms344 KiB
9Accepted2/21ms316 KiB
10Accepted2/21ms316 KiB
11Accepted3/318ms472 KiB
12Accepted3/318ms472 KiB
13Accepted3/318ms536 KiB
14Accepted3/318ms508 KiB
15Accepted3/318ms512 KiB
16Accepted4/418ms500 KiB
17Accepted1/170ms316 KiB
18Accepted1/170ms508 KiB
19Accepted1/170ms316 KiB
20Accepted1/170ms516 KiB
21Accepted1/170ms508 KiB
22Accepted1/170ms520 KiB