9739 2024. 03. 05 09:30:09 phiterr A lehető legkevesebb átszállás (50 pont) cpp17 Elfogadva 50/50 10ms 6520 KiB
#include <iostream>
#include <vector>
using namespace std;

int main()
{
	int linesNum = 0;
	int stationsNum = 0;
	cin >> linesNum;
	cin >> stationsNum;
	vector<pair<int, int>> stations(stationsNum, { 0,0 });
	for (int i = 0; i < linesNum; i++) {
		int start = 0;
		int end = 0;
		cin >> start >> end;
		for (int j = start - 1; j < end -1; j++) {
			if (stations[j].second < end) {
				stations[j] = pair<int, int>(i, end - 1);

			}
			else break;
		}

	}
	vector<int> takenLines(0, 0);
	for (int i = 0; i + 1 < stationsNum; i) {
		if (stations[i] == pair<int, int>(0, 0)) {
			
				cout << -1;
				return 0;
			
		}else {
			takenLines.push_back(stations[i].first);
			i = stations[i].second;
		}
	}
	cout << takenLines.size() - 1 << endl;
		for (int i : takenLines) {
			cout << i + 1 << ' ';
		}
	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1964 KiB
2 Elfogadva 0/0 10ms 3612 KiB
3 Elfogadva 1/1 3ms 2380 KiB
4 Elfogadva 1/1 3ms 2440 KiB
5 Elfogadva 2/2 3ms 2656 KiB
6 Elfogadva 2/2 2ms 2740 KiB
7 Elfogadva 2/2 3ms 2900 KiB
8 Elfogadva 2/2 4ms 2928 KiB
9 Elfogadva 2/2 4ms 3092 KiB
10 Elfogadva 2/2 4ms 3312 KiB
11 Elfogadva 2/2 6ms 3424 KiB
12 Elfogadva 2/2 6ms 3604 KiB
13 Elfogadva 2/2 3ms 3676 KiB
14 Elfogadva 2/2 4ms 3784 KiB
15 Elfogadva 2/2 4ms 4604 KiB
16 Elfogadva 2/2 7ms 4516 KiB
17 Elfogadva 2/2 8ms 5140 KiB
18 Elfogadva 2/2 8ms 5388 KiB
19 Elfogadva 2/2 9ms 5504 KiB
20 Elfogadva 2/2 9ms 5776 KiB
21 Elfogadva 2/2 10ms 5728 KiB
22 Elfogadva 2/2 10ms 5848 KiB
23 Elfogadva 2/2 9ms 5444 KiB
24 Elfogadva 2/2 9ms 5812 KiB
25 Elfogadva 2/2 10ms 6056 KiB
26 Elfogadva 2/2 10ms 6168 KiB
27 Elfogadva 2/2 10ms 6404 KiB
28 Elfogadva 2/2 10ms 6520 KiB