225142026-01-15 10:19:37BitProMekk Mester munkái (50 pont)cpp17Wrong answer 0/5098ms3308 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);
    cout << endl;
    for (int i=0; i<mester.size(); i++) {
        cout << mester[i].sorsz << " ";
    }
    cout << endl;
    for (int i=0; i<fia.size(); i++) {
        cout << fia[i].sorsz << " ";
    }
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base0/50
1Accepted0/01ms512 KiB
2Wrong answer0/08ms580 KiB
3Wrong answer0/11ms316 KiB
4Wrong answer0/11ms316 KiB
5Wrong answer0/21ms316 KiB
6Wrong answer0/21ms368 KiB
7Wrong answer0/21ms316 KiB
8Wrong answer0/22ms508 KiB
9Wrong answer0/32ms316 KiB
10Wrong answer0/12ms316 KiB
11Wrong answer0/12ms508 KiB
12Wrong answer0/22ms316 KiB
13Wrong answer0/22ms400 KiB
14Wrong answer0/22ms424 KiB
15Wrong answer0/22ms316 KiB
16Wrong answer0/32ms512 KiB
17Wrong answer0/282ms1868 KiB
18Wrong answer0/282ms1848 KiB
19Wrong answer0/482ms1884 KiB
20Wrong answer0/482ms1872 KiB
21Wrong answer0/482ms1992 KiB
22Wrong answer0/485ms2036 KiB
23Wrong answer0/498ms3308 KiB