204822026-01-07 10:02:54BikficcA lehető legkevesebb átszállás (50 pont)cpp17Elfogadva 50/507ms508 KiB
#include <iostream>
#include <vector>
using namespace std;

struct vonat
{
    int start, stop;
};

int main()
{
    int n, m;
    cin >> n >> m;

    vector<vonat> v(n);
    for (int i = 0; i < n; ++i)
    {
        cin >> v[i].start >> v[i].stop;
    }

    int vege = 1,mvege, mindex;
    vector<int> index;
    int i = 0;
    while (vege < m)
    {
        mvege = vege;
        mindex = -1;
        while (i < n && v[i].start <= vege)
        {
            if (v[i].stop > mvege)
            {
                mvege = v[i].stop;
                mindex = i;
            }
            i++;
        }
        if (mindex == -1)
        {
            cout << -1;
            return 0;
        }
        index.push_back(mindex+1);
        vege = mvege;
    }

    cout << index.size() - 1 << endl;
    for (int x : index)
    {
        cout << x << " ";
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/07ms316 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva1/11ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms500 KiB
7Elfogadva2/22ms508 KiB
8Elfogadva2/22ms416 KiB
9Elfogadva2/22ms316 KiB
10Elfogadva2/23ms316 KiB
11Elfogadva2/23ms316 KiB
12Elfogadva2/24ms388 KiB
13Elfogadva2/22ms316 KiB
14Elfogadva2/22ms316 KiB
15Elfogadva2/23ms316 KiB
16Elfogadva2/24ms316 KiB
17Elfogadva2/26ms316 KiB
18Elfogadva2/26ms508 KiB
19Elfogadva2/26ms316 KiB
20Elfogadva2/27ms468 KiB
21Elfogadva2/27ms388 KiB
22Elfogadva2/27ms480 KiB
23Elfogadva2/27ms316 KiB
24Elfogadva2/27ms476 KiB
25Elfogadva2/27ms476 KiB
26Elfogadva2/27ms316 KiB
27Elfogadva2/27ms476 KiB
28Elfogadva2/27ms316 KiB