78112024-01-11 10:51:33csaron71A lehető legkevesebb átszállás (50 pont)cpp17Elfogadva 50/5010ms5000 KiB
#include <bits/stdc++.h>

using namespace std;


int main()
{
    int n, m;
    cin >> n >> m;
    vector<pair<int, pair<int, int> > > vasut;
    for (int i=0; i<n; i++) {
        int x, y;
        cin >> x >> y;
        x--;
        y--;
        if (x<y) {
            swap(x, y);
        }
        vasut.push_back({x, {y, i+1}});
    }
    sort(vasut.begin(), vasut.end());
    reverse(vasut.begin(), vasut.end());
    int epp=0;
    vector<int> utvonal;
    int valtozas=1;
    while (valtozas!=epp) {
        valtozas=epp;
        for (int j=0; j<n; j++) {
            if (vasut[j].second.first<=epp && vasut[j].first>epp) {
                epp=vasut[j].first;
                utvonal.push_back(vasut[j].second.second);
                break;
            }
        }
    }
    if (epp==m-1) {
        cout << utvonal.size()-1 << "\n";
        for (int sz : utvonal) {
            cout << sz << " ";
        }
    }
    else {
        cout << "-1";
    }


    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1816 KiB
2Elfogadva0/010ms2588 KiB
3Elfogadva1/13ms2308 KiB
4Elfogadva1/13ms2520 KiB
5Elfogadva2/23ms2668 KiB
6Elfogadva2/23ms2760 KiB
7Elfogadva2/23ms2744 KiB
8Elfogadva2/24ms3020 KiB
9Elfogadva2/24ms3172 KiB
10Elfogadva2/24ms3164 KiB
11Elfogadva2/26ms3472 KiB
12Elfogadva2/26ms3796 KiB
13Elfogadva2/23ms3644 KiB
14Elfogadva2/24ms4012 KiB
15Elfogadva2/24ms4008 KiB
16Elfogadva2/26ms4332 KiB
17Elfogadva2/28ms4336 KiB
18Elfogadva2/28ms4348 KiB
19Elfogadva2/29ms4680 KiB
20Elfogadva2/29ms4660 KiB
21Elfogadva2/210ms4700 KiB
22Elfogadva2/210ms4696 KiB
23Elfogadva2/29ms4696 KiB
24Elfogadva2/29ms4748 KiB
25Elfogadva2/29ms4700 KiB
26Elfogadva2/29ms4744 KiB
27Elfogadva2/29ms4876 KiB
28Elfogadva2/29ms5000 KiB