7681 | 2024. 01. 10 12:46:21 | adam | A lehető legkevesebb átszállás (50 pont) | cpp17 | Futási hiba 34/50 | 192ms | 64628 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<vector<int>> stations(station_count, vector(0, 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 - 1 + j].push_back(i);
}
trains[i] = train_stops;
}
int boardings = -1;
if (stations[station_count-1].empty() == 0) {
return 0;
}
vector<int> boarded_trains(0, 0);
pair<int, int> current_station (0, 0);
while (current_station.second != station_count - 1) {
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 | 34/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1864 KiB | |||
2 | Elfogadva | 0/0 | 65ms | 37092 KiB | |||
3 | Futási hiba | 0/1 | 192ms | 64628 KiB | |||
4 | Futási hiba | 0/1 | 170ms | 64428 KiB | |||
5 | Elfogadva | 2/2 | 3ms | 2668 KiB | |||
6 | Futási hiba | 0/2 | 192ms | 63976 KiB | |||
7 | Elfogadva | 2/2 | 8ms | 6580 KiB | |||
8 | Elfogadva | 2/2 | 8ms | 7768 KiB | |||
9 | Elfogadva | 2/2 | 9ms | 9192 KiB | |||
10 | Elfogadva | 2/2 | 16ms | 12248 KiB | |||
11 | Elfogadva | 2/2 | 25ms | 17512 KiB | |||
12 | Elfogadva | 2/2 | 28ms | 21160 KiB | |||
13 | Elfogadva | 2/2 | 9ms | 7556 KiB | |||
14 | Elfogadva | 2/2 | 17ms | 11992 KiB | |||
15 | Elfogadva | 2/2 | 24ms | 16016 KiB | |||
16 | Elfogadva | 2/2 | 29ms | 21304 KiB | |||
17 | Elfogadva | 2/2 | 46ms | 30676 KiB | |||
18 | Elfogadva | 2/2 | 52ms | 32604 KiB | |||
19 | Elfogadva | 2/2 | 57ms | 35220 KiB | |||
20 | Elfogadva | 2/2 | 57ms | 36700 KiB | |||
21 | Elfogadva | 2/2 | 64ms | 38848 KiB | |||
22 | Elfogadva | 2/2 | 61ms | 39072 KiB | |||
23 | Futási hiba | 0/2 | 103ms | 62644 KiB | |||
24 | Futási hiba | 0/2 | 131ms | 62640 KiB | |||
25 | Futási hiba | 0/2 | 160ms | 62616 KiB | |||
26 | Futási hiba | 0/2 | 136ms | 62628 KiB | |||
27 | Futási hiba | 0/2 | 144ms | 62616 KiB | |||
28 | Futási hiba | 0/2 | 158ms | 62604 KiB |