6461 2023. 12. 02 15:34:38 111 Múzeumi őrök cpp17 Elfogadva 40/40 112ms 62380 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define double long double

#define pii pair<int, int>

signed main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
#ifdef CB
	freopen("be2.txt", "r", stdin);
//	freopen("out.txt", "w", stdout);
#endif
	int N, S, E;
	cin >> N >> S >> E;
	vector<vector<array<int, 3>>> v(E + 1);
	for (int i = 0; i < N; i++) {
		int s, e, c;
		cin >> s >> e >> c;
		v[s].push_back({e, c, i});
	}
	multimap<int, pii> m;
	vector<pii> w;
	m.insert({S, {0, -1}});
	for (int i = S; i <= E; i++) {
		if (m.lower_bound(i) == m.end()) {
			cout << -1 << endl;
			return 0;
		}
		auto [c, j] = m.lower_bound(i)->second;
		for (auto a : v[i]) {
			int k = w.size();
			w.push_back({a[2], j});
			auto it = m.insert({a[0] + 1, {c + a[1], k}});
			while (it->second.first <= prev(it)->second.first) {
				m.erase(prev(it));
			}
			while (next(it) != m.end() && next(it)->second.first <= it->second.first) {
				it = m.erase(it);
			}
		}
	}
	if (m.lower_bound(E + 1) == m.end()) {
		cout << -1 << endl;
		return 0;
	}
	auto [c, j] = m.lower_bound(E + 1)->second;
	cout << c << endl;
	vector<int> ans;
	while (j != -1) {
		ans.push_back(w[j].first);
		j = w[j].second;
	}
	sort(ans.begin(), ans.end());
	cout << ans.size();
	for (int i : ans) {
		cout << ' ' << i + 1;
	}
	cout << endl;
	return 0;
}

Részfeladat Összpont Teszt Verdikt Idő Memória
base 40/40
1 Elfogadva 0/0 3ms 1828 KiB
2 Elfogadva 0/0 9ms 5328 KiB
3 Elfogadva 1/1 3ms 2424 KiB
4 Elfogadva 3/3 3ms 2476 KiB
5 Elfogadva 2/2 3ms 2700 KiB
6 Elfogadva 2/2 3ms 2808 KiB
7 Elfogadva 2/2 3ms 3068 KiB
8 Elfogadva 2/2 3ms 3284 KiB
9 Elfogadva 2/2 3ms 3504 KiB
10 Elfogadva 2/2 112ms 62376 KiB
11 Elfogadva 2/2 111ms 62360 KiB
12 Elfogadva 2/2 3ms 4316 KiB
13 Elfogadva 2/2 4ms 5276 KiB
14 Elfogadva 3/3 10ms 8160 KiB
15 Elfogadva 3/3 10ms 8560 KiB
16 Elfogadva 2/2 112ms 62380 KiB
17 Elfogadva 2/2 104ms 62368 KiB
18 Elfogadva 2/2 3ms 4308 KiB
19 Elfogadva 2/2 2ms 4316 KiB
20 Elfogadva 2/2 3ms 4248 KiB
21 Elfogadva 2/2 3ms 4460 KiB