225102026-01-15 10:14:43BitProMekk Mester munkái (50 pont)cpp17Hibás válasz 0/5097ms3248 KiB
#include <bits/stdc++.h>

using namespace std;

struct munka
{
    int kezdet, veg, sorsz;
};
vector<munka> mester, fia, osszmunka;
int n, h;

bool cmp (munka a, munka b)
{
    return a.veg < b.veg;
}
void beolvaso ()
{
    cin >> n >> h;
    for (int i=1; i<=n; i++) {
        munka munka;
        cin>>munka.kezdet>>munka.veg;
        munka.sorsz = i;
        osszmunka.push_back(munka);
    }
    sort(osszmunka.begin(), osszmunka.end(), cmp);
}

void algo ()
{
    int k=1;
    mester.push_back(osszmunka[0]);
    while(mester.back().veg<osszmunka[k].kezdet) {
        mester.push_back(osszmunka[k]);
        k++;
    }
    fia.push_back(osszmunka[k]);
    for(k+1; k<osszmunka.size(); k++) {
        if(mester.back().veg < osszmunka[k].kezdet && fia.back().veg >= osszmunka[k].kezdet) {
            mester.push_back(osszmunka[k]);
        }
        else if (mester.back().veg >= osszmunka[k].kezdet && fia.back().veg < osszmunka[k].kezdet) {
            fia.push_back(osszmunka[k]);
        }
        else if (mester.back().veg < osszmunka[k].kezdet && fia.back().veg < osszmunka[k].kezdet) {
            if (abs(osszmunka[k].kezdet - mester.back().veg) < abs(osszmunka[k].kezdet - fia.back().veg)) {
                mester.push_back(osszmunka[k]);
            }
            else fia.push_back(osszmunka[k]);
        }
    }
}

bool sorsort (munka a, munka b)
{
    return a.sorsz < b.sorsz;
}

int main()
{
    beolvaso();
    algo();
    cout << mester.size() << " " << fia.size() << endl;
    sort(mester.begin(), mester.end(), sorsort);
    sort(fia.begin(), fia.end(), sorsort);
    for (int i=0; i<mester.size(); i++) {
        cout << mester[i].sorsz << " ";
    }
    for (int i=0; i<fia.size(); i++) {
        cout << fia[i].sorsz << " ";
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Elfogadva0/01ms316 KiB
2Hibás válasz0/08ms656 KiB
3Hibás válasz0/11ms508 KiB
4Hibás válasz0/11ms500 KiB
5Hibás válasz0/21ms316 KiB
6Hibás válasz0/22ms316 KiB
7Hibás válasz0/22ms316 KiB
8Hibás válasz0/21ms344 KiB
9Hibás válasz0/31ms316 KiB
10Hibás válasz0/12ms316 KiB
11Hibás válasz0/12ms324 KiB
12Hibás válasz0/22ms508 KiB
13Hibás válasz0/22ms316 KiB
14Hibás válasz0/22ms316 KiB
15Hibás válasz0/22ms316 KiB
16Hibás válasz0/31ms316 KiB
17Hibás válasz0/279ms1964 KiB
18Hibás válasz0/282ms1896 KiB
19Hibás válasz0/481ms1944 KiB
20Hibás válasz0/483ms1860 KiB
21Hibás válasz0/482ms1960 KiB
22Hibás válasz0/485ms1892 KiB
23Hibás válasz0/497ms3248 KiB