138122025-01-08 19:52:13horvathabelBenzinkút üzemeltetés (55)cpp17Accepted 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<<" "; 
}
SubtaskSumTestVerdictTimeMemory
base55/55
1Accepted0/01ms316 KiB
2Accepted0/04ms1212 KiB
3Accepted3/31ms316 KiB
4Accepted3/31ms316 KiB
5Accepted3/31ms316 KiB
6Accepted3/31ms316 KiB
7Accepted3/31ms316 KiB
8Accepted3/31ms316 KiB
9Accepted3/31ms316 KiB
10Accepted3/31ms500 KiB
11Accepted3/31ms508 KiB
12Accepted3/32ms564 KiB
13Accepted4/42ms728 KiB
14Accepted4/43ms820 KiB
15Accepted5/53ms1076 KiB
16Accepted6/63ms1080 KiB
17Accepted6/63ms1332 KiB