133702025-01-07 17:25:19SzorenyiZalanAndrasBenzinkút üzemeltetés (55)cpp17Wrong answer 23/552ms1588 KiB
#include <iostream>
#include<algorithm>
#include<vector>
#include<climits>

using namespace std;
using ll = long long;

#define endl "\n";
struct kut {
	int hely;
	int hoz;
};
int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);
	int n, m;
	cin >> n >> m ;
	vector<kut>kutak(n+1);
	vector<int>dp(n+1);
	dp[0] = 0;
	vector<vector<int>>ans(n+1);
	for (int i = 1;i <= n;i++) {
		cin >> kutak[i].hely >> kutak[i].hoz;
	}
	for (int i = 1;i <= n;i++) {
		for (int j = i - 1;j >= 0;j--) {
			if (kutak[i].hely - m >= kutak[j].hely) {
				if (dp[i-1] > dp[j] + kutak[i].hoz) {
					dp[i] = dp[i - 1];
					ans[i] = ans[i - 1];
					break;
				}
				else {
					dp[i] = dp[j] + kutak[i].hoz;
					ans[i] = ans[j];
					ans[i].push_back(i);
					break;
				}
			}
		}
	}
	cout << dp[n] <<"\n"<< ans[n].size()<<" ";
	for (int i = 0;i < ans[n].size();i++) {
		cout << ans[n][i] << " ";
	}

}
SubtaskSumTestVerdictTimeMemory
base23/55
1Accepted0/01ms500 KiB
2Wrong answer0/02ms1588 KiB
3Accepted3/31ms316 KiB
4Wrong answer0/31ms316 KiB
5Accepted3/31ms316 KiB
6Accepted3/31ms316 KiB
7Accepted3/31ms508 KiB
8Wrong answer0/31ms316 KiB
9Wrong answer0/31ms316 KiB
10Wrong answer0/31ms316 KiB
11Wrong answer0/31ms316 KiB
12Wrong answer0/31ms564 KiB
13Wrong answer0/41ms956 KiB
14Wrong answer0/42ms820 KiB
15Accepted5/52ms1076 KiB
16Accepted6/62ms1332 KiB
17Wrong answer0/62ms1332 KiB