204332026-01-06 18:22:33algoproBefektetéscpp17Elfogadva 40/4043ms560 KiB
// UUID: d50d1f43-f418-4c93-963b-3b2bf1ef9c7c
#include <bits/stdc++.h>
using namespace std;

int main() {
	int n, k; cin>>n>>k;
	vector<array<int, 3>> l(n+1); //ado, ar, ertek
	for(int i=1; i<=n; i++){
		cin>>l[i][1]>>l[i][2]>>l[i][0];
	}
	sort(l.begin(), l.end());

	//vector<vector<int>> dp(n+1, vector<int>(k+1));
	vector<int> dp(k+1);
	int mx=0;
	for(int i=1; i<=n; i++){
		for(int j=k; j>=0; j--){
			if(j<l[i][0]){dp[j]=-1e9; continue;}
			int a=l[i][0]-l[i-1][0];
			if(j-a>=0){dp[j]=dp[j-a];}
			//dp[i][j]=max(dp[i-1][j]+a, 0);
			if(j-a-l[i][1]>=0){
				dp[j]=max(dp[j], dp[j-a-l[i][1]]+l[i][2]);
			}
			mx=max(mx, dp[j]);
		}
	}
	cout<<mx;

	/*for(int i=0; i<=n; i++){
		cout<<endl;
		for(int j=0; j<=k; j++){
			cout<<dp[i][j]<<"\t";
		}
	}*/
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/40
1Elfogadva0/01ms316 KiB
2Elfogadva0/04ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms508 KiB
5Elfogadva1/11ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/22ms560 KiB
10Elfogadva2/21ms316 KiB
11Elfogadva3/312ms436 KiB
12Elfogadva3/312ms508 KiB
13Elfogadva3/312ms436 KiB
14Elfogadva3/312ms432 KiB
15Elfogadva3/312ms432 KiB
16Elfogadva4/412ms428 KiB
17Elfogadva1/141ms456 KiB
18Elfogadva1/141ms456 KiB
19Elfogadva1/143ms316 KiB
20Elfogadva1/143ms316 KiB
21Elfogadva1/143ms460 KiB
22Elfogadva1/141ms440 KiB