7688 | 2024. 01. 10 13:15:05 | adam | A lehető legkevesebb átszállás (50 pont) | cpp17 | Hibás válasz 2/50 | 300ms | 4752 KiB |
#include <bits/stdc++.h>
using namespace std;
pair<int, int> get_longest (pair<int, int> from, vector<pair<int, int>> trains) {
pair<int, int> highest;
for (int i = 0; i < trains.size(); i++) {
if (trains[i].first - 1 <= from.second && trains[i].second <= trains[i].second)
if (trains[i].second > highest.second)
highest = pair(i, trains[i].second - 1);
}
return highest;
}
int main() {
cin.tie(nullptr );
ios_base::sync_with_stdio(false);
int train_count = 0;
int station_count = 0;
cin >> train_count >> station_count;
vector<pair<int, int>> trains(train_count, pair(0, 0));
vector<int> stations(station_count, 0);
for (int i = 0; i < train_count -1; i++) {
pair<int, int> train_stops;
cin >> train_stops.first >> train_stops.second;
for (int j = 0; j < (train_stops.second - train_stops.first); j++) {
stations[train_stops.first + j]++;
}
trains[i] = train_stops;
}
int boardings = -1;
if (stations[station_count-1] == 0) {
cout << -1 << endl;
return 0;
}
vector<int> boarded_trains(0, 0);
pair<int, int> current_station (0, 0);
while (current_station.second != station_count - 1) {
if (stations[current_station.second] == 0) {
cout << -1 << endl;
return 0;
}
boardings++;
current_station = get_longest(current_station, trains);
boarded_trains.push_back(current_station.first);
}
cout << boardings << endl;
for (int train : boarded_trains) {
cout << train + 1 << " ";
}
cout << endl;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 2/50 | ||||||
1 | Hibás válasz | 0/0 | 3ms | 1828 KiB | |||
2 | Hibás válasz | 0/0 | 7ms | 2872 KiB | |||
3 | Elfogadva | 1/1 | 3ms | 2272 KiB | |||
4 | Elfogadva | 1/1 | 3ms | 2480 KiB | |||
5 | Hibás válasz | 0/2 | 3ms | 2688 KiB | |||
6 | Hibás válasz | 0/2 | 3ms | 2924 KiB | |||
7 | Hibás válasz | 0/2 | 3ms | 3148 KiB | |||
8 | Hibás válasz | 0/2 | 3ms | 3100 KiB | |||
9 | Hibás válasz | 0/2 | 3ms | 3296 KiB | |||
10 | Hibás válasz | 0/2 | 4ms | 3344 KiB | |||
11 | Hibás válasz | 0/2 | 4ms | 3428 KiB | |||
12 | Hibás válasz | 0/2 | 4ms | 3336 KiB | |||
13 | Hibás válasz | 0/2 | 3ms | 3276 KiB | |||
14 | Hibás válasz | 0/2 | 4ms | 3612 KiB | |||
15 | Hibás válasz | 0/2 | 4ms | 3840 KiB | |||
16 | Hibás válasz | 0/2 | 4ms | 3976 KiB | |||
17 | Hibás válasz | 0/2 | 6ms | 4456 KiB | |||
18 | Hibás válasz | 0/2 | 6ms | 4436 KiB | |||
19 | Hibás válasz | 0/2 | 7ms | 4632 KiB | |||
20 | Hibás válasz | 0/2 | 6ms | 4496 KiB | |||
21 | Hibás válasz | 0/2 | 7ms | 4492 KiB | |||
22 | Hibás válasz | 0/2 | 7ms | 4752 KiB | |||
23 | Időlimit túllépés | 0/2 | 300ms | 3664 KiB | |||
24 | Időlimit túllépés | 0/2 | 270ms | 3604 KiB | |||
25 | Időlimit túllépés | 0/2 | 270ms | 4008 KiB | |||
26 | Időlimit túllépés | 0/2 | 266ms | 4024 KiB | |||
27 | Időlimit túllépés | 0/2 | 261ms | 3912 KiB | |||
28 | Időlimit túllépés | 0/2 | 238ms | 4036 KiB |