7683 | 2024. 01. 10 13:00:47 | adam | A lehető legkevesebb átszállás (50 pont) | cpp17 | Futási hiba 37/50 | 300ms | 64424 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; 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 | 37/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1824 KiB | |||
2 | Elfogadva | 0/0 | 13ms | 3224 KiB | |||
3 | Elfogadva | 1/1 | 3ms | 2272 KiB | |||
4 | Futási hiba | 0/1 | 188ms | 64424 KiB | |||
5 | Elfogadva | 2/2 | 3ms | 2676 KiB | |||
6 | Elfogadva | 2/2 | 3ms | 2892 KiB | |||
7 | Elfogadva | 2/2 | 3ms | 3040 KiB | |||
8 | Elfogadva | 2/2 | 3ms | 3292 KiB | |||
9 | Elfogadva | 2/2 | 3ms | 3516 KiB | |||
10 | Elfogadva | 2/2 | 4ms | 3640 KiB | |||
11 | Elfogadva | 2/2 | 4ms | 3852 KiB | |||
12 | Elfogadva | 2/2 | 6ms | 3948 KiB | |||
13 | Elfogadva | 2/2 | 3ms | 3816 KiB | |||
14 | Elfogadva | 2/2 | 4ms | 3880 KiB | |||
15 | Elfogadva | 2/2 | 4ms | 4020 KiB | |||
16 | Elfogadva | 2/2 | 6ms | 4056 KiB | |||
17 | Elfogadva | 2/2 | 8ms | 4580 KiB | |||
18 | Elfogadva | 2/2 | 10ms | 4820 KiB | |||
19 | Elfogadva | 2/2 | 10ms | 5060 KiB | |||
20 | Elfogadva | 2/2 | 12ms | 5448 KiB | |||
21 | Elfogadva | 2/2 | 13ms | 5412 KiB | |||
22 | Elfogadva | 2/2 | 13ms | 5496 KiB | |||
23 | Időlimit túllépés | 0/2 | 300ms | 4000 KiB | |||
24 | Időlimit túllépés | 0/2 | 263ms | 4052 KiB | |||
25 | Időlimit túllépés | 0/2 | 250ms | 4268 KiB | |||
26 | Időlimit túllépés | 0/2 | 273ms | 4340 KiB | |||
27 | Időlimit túllépés | 0/2 | 270ms | 4040 KiB | |||
28 | Időlimit túllépés | 0/2 | 243ms | 4044 KiB |