138122025-01-08 19:52:13horvathabelBenzinkút üzemeltetés (55)cpp17Elfogadva 55/554ms1332 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	int n,k;
	cin>>n>>k;
	vector<pair<int,int>> benzinkut={{-k,0}};
	vector<vector<int>> mego;
	mego.resize(n+2,vector<int>()); 
	mego[0]={}; 
	vector<int> dp;
	dp.resize(n+2,0);
	dp[0]=0;
	for (int i=0; i<n;i++){
		int a,b;
		cin>>a>>b;
		benzinkut.push_back({a,b});
	}
	for (int i=1; i<=n;i++){
		dp[i]=dp[i-1];
		mego[i]=mego[i-1]; 
		for (int j=i-1;j>=0;j--){
			if (benzinkut[j].first+k<=benzinkut[i].first){
				if (dp[j]+benzinkut[i].second>dp[i]){
					dp[i]=dp[j]+benzinkut[i].second;
					mego[i]=mego[j];
					mego[i].push_back(i); 
				}
			}
		}
	}
	cout<<dp[n]<<endl;
	cout<<mego[n].size()<<" "; 
	for(auto x:mego[n]) cout<<x<<" "; 
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base55/55
1Elfogadva0/01ms316 KiB
2Elfogadva0/04ms1212 KiB
3Elfogadva3/31ms316 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva3/31ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/31ms500 KiB
11Elfogadva3/31ms508 KiB
12Elfogadva3/32ms564 KiB
13Elfogadva4/42ms728 KiB
14Elfogadva4/43ms820 KiB
15Elfogadva5/53ms1076 KiB
16Elfogadva6/63ms1080 KiB
17Elfogadva6/63ms1332 KiB