219312026-01-14 10:39:22RRoliA lehető legkevesebb átszállás (50 pont)cpp17Elfogadva 50/509ms1188 KiB
#include <bits/stdc++.h>
using namespace std;

int n, m, a[100001][2], ki[100001];
bool joe;

int main() {
	cin >> n >> m;
	for(int i = 1; i <= m; i++) {
		int e, u;
		cin >> e >> u;
		if(a[e][0] < u) {
			a[e][0] = u;
			a[e][1] = i;
		}
	}

	int sz = 0, ugras = a[1][0], max_ert = 0, max_ind = 0;
	ki[0] = a[1][1];
	for(int i = 1; i <= m && !joe; i++) {
		if(i > ugras) {
			if(max_ert == 0) {
				cout << -1;
				joe = true;
			}
			sz++;
			ki[sz] = max_ind;
			ugras = max_ert;
			max_ert = 0;
		}
		if(a[i][0] > max_ert) {
			max_ert = a[i][0];
			max_ind = a[i][1];
		}
	}
    
    if(ugras < m) cout << -1;
    else if(!joe) {
    	cout << sz << '\n';
		for(int i = 0; i <= sz; i++) cout << ki[i] << ' '; 
    }

	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/09ms1076 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva1/11ms500 KiB
5Elfogadva2/21ms332 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/22ms500 KiB
8Elfogadva2/22ms316 KiB
9Elfogadva2/22ms436 KiB
10Elfogadva2/23ms316 KiB
11Elfogadva2/24ms668 KiB
12Elfogadva2/24ms592 KiB
13Elfogadva2/22ms564 KiB
14Elfogadva2/24ms560 KiB
15Elfogadva2/24ms564 KiB
16Elfogadva2/24ms564 KiB
17Elfogadva2/28ms1076 KiB
18Elfogadva2/28ms872 KiB
19Elfogadva2/28ms1080 KiB
20Elfogadva2/28ms1188 KiB
21Elfogadva2/29ms1108 KiB
22Elfogadva2/29ms1184 KiB
23Elfogadva2/28ms448 KiB
24Elfogadva2/28ms484 KiB
25Elfogadva2/28ms316 KiB
26Elfogadva2/28ms516 KiB
27Elfogadva2/28ms516 KiB
28Elfogadva2/28ms316 KiB