124802024-12-19 07:36:28GundischBalazsA lehető legkevesebb átszállás (50 pont)cpp17Hibás válasz 2/508ms588 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;
    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
base2/50
1Hibás válasz0/01ms320 KiB
2Hibás válasz0/08ms508 KiB
3Elfogadva1/11ms320 KiB
4Elfogadva1/11ms500 KiB
5Hibás válasz0/21ms320 KiB
6Hibás válasz0/21ms320 KiB
7Hibás válasz0/21ms320 KiB
8Hibás válasz0/22ms408 KiB
9Hibás válasz0/22ms320 KiB
10Hibás válasz0/23ms320 KiB
11Hibás válasz0/23ms320 KiB
12Hibás válasz0/24ms320 KiB
13Hibás válasz0/21ms320 KiB
14Hibás válasz0/22ms320 KiB
15Hibás válasz0/23ms588 KiB
16Hibás válasz0/24ms448 KiB
17Hibás válasz0/26ms520 KiB
18Hibás válasz0/26ms320 KiB
19Hibás válasz0/27ms492 KiB
20Hibás válasz0/27ms476 KiB
21Hibás válasz0/27ms504 KiB
22Hibás válasz0/27ms488 KiB
23Hibás válasz0/27ms320 KiB
24Hibás válasz0/27ms420 KiB
25Hibás válasz0/27ms516 KiB
26Hibás válasz0/28ms516 KiB
27Hibás válasz0/27ms392 KiB
28Hibás válasz0/27ms492 KiB