236292026-01-26 17:29:55algoproBenzinkút üzemeltetés (55)cpp17Hibás válasz 0/552ms508 KiB
// UUID: 23c33671-61e8-4b33-b3a5-7be3aaff9a5d
#include <bits/stdc++.h>
using namespace std;

int main() {
	int n, k;
	cin >> n >> k;

	vector<pair<long long, long long>> tavolsag(n + 1);

	for(int i=1;i <= n; i++){
		cin >> tavolsag[i].first >> tavolsag[i].second;
	}

	tavolsag[0].first = tavolsag[1].second;
	tavolsag[1].second = 0;
	vector<long long> dp(n+1);
	vector<vector<long long>> ans(n+1);
	dp[0] = 0;
	for(int i = 1; i <= n; i++){
		for(int j = i - 1; j > -1; j--){
			if(!tavolsag[i].first - tavolsag[j].first >= k){
				ans[i] = ans[j];
				ans[i].push_back(i);
			}
			else ans[i] = ans[i - 1];
			break;
		}
	}
	cout << dp[n] << "\n" << ans[n].size();
	for(int x : ans[n]){
		cout << " " << x;
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/55
1Hibás válasz0/01ms508 KiB
2Hibás válasz0/01ms316 KiB
3Hibás válasz0/31ms316 KiB
4Hibás válasz0/31ms316 KiB
5Hibás válasz0/31ms316 KiB
6Hibás válasz0/31ms316 KiB
7Hibás válasz0/31ms316 KiB
8Hibás válasz0/31ms316 KiB
9Hibás válasz0/32ms316 KiB
10Hibás válasz0/32ms316 KiB
11Hibás válasz0/32ms316 KiB
12Hibás válasz0/32ms500 KiB
13Hibás válasz0/41ms316 KiB
14Hibás válasz0/41ms316 KiB
15Hibás válasz0/51ms332 KiB
16Hibás válasz0/61ms316 KiB
17Hibás válasz0/61ms316 KiB