124812024-12-19 07:41:10GundischBalazsA lehető legkevesebb átszállás (50 pont)cpp17Elfogadva 50/508ms656 KiB
#include <iostream>
#include <algorithm>
using namespace std;
struct vonatinf{
    int sorszam;
    int kezd;
    int veg;
};
bool kisebbVonat(vonatinf v1, vonatinf v2) {
    return v1.kezd < v2.kezd;
}
int main()
{
    vonatinf a[10000];
    int hasznaltvonat[10000];
    int N,M;
    cin >> N >> M;
    for(int i=0; i < N; i++)
    {
        cin >> a[i].kezd >> a[i].veg;
        a[i].sorszam=i+1;
    }
    sort(a,a+N,kisebbVonat);
    int hol=1;
    int maxallomas=1;
    int maxhasznaltvonat;
    int K=0;
    int i=0;
    bool eljut=true;
    while(eljut && hol < M)
    {
        maxallomas=hol;
        while(i<N && a[i].kezd <=hol)
        {
            if(a[i].veg >= maxallomas)
            {
                maxallomas=a[i].veg;
                maxhasznaltvonat=a[i].sorszam;
            }
            i++;
        }
        if(hol != maxallomas)
        {
            hol = maxallomas;
            hasznaltvonat[K++] = maxhasznaltvonat;
        }
        else{
            eljut=false;
        }
    }
    if(eljut)
    {
        cout << K-1 << endl;
        sort(hasznaltvonat,hasznaltvonat+K);
        for(int i=0; i<K ; i++)
        {
            cout << hasznaltvonat[i] << " ";
        }
    }
    else{
        cout << -1;
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms320 KiB
2Elfogadva0/08ms336 KiB
3Elfogadva1/11ms320 KiB
4Elfogadva1/11ms332 KiB
5Elfogadva2/21ms508 KiB
6Elfogadva2/21ms508 KiB
7Elfogadva2/21ms320 KiB
8Elfogadva2/22ms320 KiB
9Elfogadva2/22ms320 KiB
10Elfogadva2/23ms332 KiB
11Elfogadva2/23ms320 KiB
12Elfogadva2/24ms320 KiB
13Elfogadva2/21ms320 KiB
14Elfogadva2/22ms320 KiB
15Elfogadva2/23ms320 KiB
16Elfogadva2/24ms472 KiB
17Elfogadva2/24ms516 KiB
18Elfogadva2/26ms552 KiB
19Elfogadva2/27ms320 KiB
20Elfogadva2/27ms508 KiB
21Elfogadva2/28ms508 KiB
22Elfogadva2/28ms504 KiB
23Elfogadva2/27ms320 KiB
24Elfogadva2/27ms472 KiB
25Elfogadva2/27ms656 KiB
26Elfogadva2/27ms412 KiB
27Elfogadva2/27ms320 KiB
28Elfogadva2/27ms508 KiB