7693 | 2024. 01. 10 13:31:00 | adam | A lehető legkevesebb átszállás (50 pont) | cpp17 | Hibás válasz 40/50 | 10ms | 5408 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;
trains[i] = train_stops;
}
int boardings = -1;
vector<int> boarded_trains(0, 0);
pair<int, int> current_station (0, 0);
while (current_station.second != station_count - 1) {
pair<int, int> last = current_station;
boardings++;
current_station = get_longest(current_station, trains);
boarded_trains.push_back(current_station.first);
if (current_station.second == last.second && boardings > -1) {
cout << -1 << endl;
return 0;
}
}
cout << boardings << endl;
for (int train : boarded_trains) {
cout << train + 1 << " ";
}
cout << endl;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 40/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1824 KiB | |||
2 | Elfogadva | 0/0 | 10ms | 3224 KiB | |||
3 | Elfogadva | 1/1 | 3ms | 2372 KiB | |||
4 | Elfogadva | 1/1 | 3ms | 2696 KiB | |||
5 | Elfogadva | 2/2 | 3ms | 2948 KiB | |||
6 | Hibás válasz | 0/2 | 3ms | 3124 KiB | |||
7 | Elfogadva | 2/2 | 3ms | 3160 KiB | |||
8 | Elfogadva | 2/2 | 3ms | 3360 KiB | |||
9 | Elfogadva | 2/2 | 3ms | 3504 KiB | |||
10 | Elfogadva | 2/2 | 3ms | 3524 KiB | |||
11 | Elfogadva | 2/2 | 4ms | 3624 KiB | |||
12 | Elfogadva | 2/2 | 4ms | 3888 KiB | |||
13 | Elfogadva | 2/2 | 3ms | 3856 KiB | |||
14 | Elfogadva | 2/2 | 3ms | 3884 KiB | |||
15 | Elfogadva | 2/2 | 4ms | 4044 KiB | |||
16 | Elfogadva | 2/2 | 4ms | 4160 KiB | |||
17 | Elfogadva | 2/2 | 8ms | 4608 KiB | |||
18 | Elfogadva | 2/2 | 8ms | 4828 KiB | |||
19 | Elfogadva | 2/2 | 9ms | 4932 KiB | |||
20 | Elfogadva | 2/2 | 9ms | 4964 KiB | |||
21 | Elfogadva | 2/2 | 10ms | 5236 KiB | |||
22 | Elfogadva | 2/2 | 10ms | 5192 KiB | |||
23 | Hibás válasz | 0/2 | 4ms | 5208 KiB | |||
24 | Hibás válasz | 0/2 | 4ms | 5200 KiB | |||
25 | Elfogadva | 2/2 | 4ms | 5368 KiB | |||
26 | Hibás válasz | 0/2 | 4ms | 5388 KiB | |||
27 | Hibás válasz | 0/2 | 4ms | 5404 KiB | |||
28 | Elfogadva | 2/2 | 4ms | 5408 KiB |