206062026-01-07 19:04:49mikloshunorA lehető legkevesebb átszállás (50 pont)cpp17Elfogadva 50/508ms540 KiB
#include <iostream>
#include <vector>

using namespace std; 

struct vonat
{
    int k, v;
};

int main()
{
    int n, a;
    cin >> n >> a;
    vector <vonat> v(n);
    vector <int> ind;
    
    for (int i = 0; i< n; i++)
    {
        cin >> v[i].k >> v[i].v;
    }
    int vege = 1, i = 0, maxveg, maxind;
    
    while (vege != a)
    {
        maxind = -1;
        maxveg = vege;
        while (i < n && v[i].k <= vege)
        {
            if (v[i].v > maxveg)
            {
                maxveg = v[i].v;
                maxind = i;
            }
            i++;
        }
        if (maxind == -1)
        {
            cout << maxind;
            return 0;
        }
        vege = maxveg;
        ind.push_back (maxind + 1);
    }
    cout << ind.size() - 1 << endl;
    int m = ind.size();
    for (auto i = 0; i < m; i++)
    {
        cout << ind[i] << " ";
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/07ms500 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva1/11ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/22ms508 KiB
9Elfogadva2/22ms500 KiB
10Elfogadva2/23ms316 KiB
11Elfogadva2/24ms508 KiB
12Elfogadva2/24ms316 KiB
13Elfogadva2/21ms508 KiB
14Elfogadva2/22ms536 KiB
15Elfogadva2/23ms420 KiB
16Elfogadva2/24ms388 KiB
17Elfogadva2/26ms452 KiB
18Elfogadva2/26ms456 KiB
19Elfogadva2/27ms332 KiB
20Elfogadva2/27ms540 KiB
21Elfogadva2/27ms316 KiB
22Elfogadva2/28ms472 KiB
23Elfogadva2/27ms316 KiB
24Elfogadva2/27ms476 KiB
25Elfogadva2/27ms472 KiB
26Elfogadva2/27ms316 KiB
27Elfogadva2/27ms480 KiB
28Elfogadva2/27ms480 KiB