7682 | 2024. 01. 10 12:52:34 | adam | A lehető legkevesebb átszállás (50 pont) | cpp17 | Hibás válasz 36/50 | 300ms | 5144 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) {
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 | 36/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1824 KiB | |||
2 | Elfogadva | 0/0 | 14ms | 3196 KiB | |||
3 | Elfogadva | 1/1 | 3ms | 2228 KiB | |||
4 | Elfogadva | 1/1 | 3ms | 2320 KiB | |||
5 | Elfogadva | 2/2 | 3ms | 2536 KiB | |||
6 | Hibás válasz | 0/2 | 3ms | 2524 KiB | |||
7 | Elfogadva | 2/2 | 3ms | 2928 KiB | |||
8 | Elfogadva | 2/2 | 3ms | 3152 KiB | |||
9 | Elfogadva | 2/2 | 3ms | 3376 KiB | |||
10 | Elfogadva | 2/2 | 4ms | 3532 KiB | |||
11 | Elfogadva | 2/2 | 4ms | 3700 KiB | |||
12 | Elfogadva | 2/2 | 6ms | 3992 KiB | |||
13 | Elfogadva | 2/2 | 3ms | 3552 KiB | |||
14 | Elfogadva | 2/2 | 4ms | 3632 KiB | |||
15 | Elfogadva | 2/2 | 4ms | 3900 KiB | |||
16 | Elfogadva | 2/2 | 6ms | 4296 KiB | |||
17 | Elfogadva | 2/2 | 8ms | 4792 KiB | |||
18 | Elfogadva | 2/2 | 10ms | 4728 KiB | |||
19 | Elfogadva | 2/2 | 10ms | 4892 KiB | |||
20 | Elfogadva | 2/2 | 12ms | 5124 KiB | |||
21 | Elfogadva | 2/2 | 13ms | 5144 KiB | |||
22 | Elfogadva | 2/2 | 13ms | 5056 KiB | |||
23 | Időlimit túllépés | 0/2 | 300ms | 3604 KiB | |||
24 | Időlimit túllépés | 0/2 | 252ms | 3848 KiB | |||
25 | Időlimit túllépés | 0/2 | 254ms | 4124 KiB | |||
26 | Időlimit túllépés | 0/2 | 270ms | 4264 KiB | |||
27 | Időlimit túllépés | 0/2 | 273ms | 4244 KiB | |||
28 | Időlimit túllépés | 0/2 | 282ms | 3960 KiB |