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