257422026-03-01 14:07:34horvayzsomborMekk Mester munkái (50 pont)cpp17Elfogadva 50/5089ms2272 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

struct job
{
    int k, v, index;
};

bool compare(const job &a, const job &b)
{
    return a.v < b.v;
}

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

    vector<job> v(n);

    for(int i = 0; i < n; i++)
    {
        cin >> v[i].k >> v[i].v;
        v[i].index = i + 1;
    }

    sort(v.begin(), v.end(), compare);

    vector<int> dad;
    vector<int> boy;

    int lastdad = 0;
    int lastboy = 0;

    for(job j : v)
    {
        if(j.k > lastdad && j.k > lastboy)
        {
            if(lastdad > lastboy)
            {
                dad.push_back(j.index);
                lastdad = j.v;
            }else
            {
                boy.push_back(j.index);
                lastboy = j.v;
            }
        }else
        {
            if(j.k > lastdad)
            {
                dad.push_back(j.index);
                lastdad = j.v;
            }else if(j.k > lastboy)
            {
                boy.push_back(j.index);
                lastboy = j.v;
            }
        }
    }

    cout << (int)dad.size() << " " << (int)boy.size() << "\n";

    for(int d : dad)
    {
        cout << d << " ";
    }

    cout << "\n";

    for(int b : boy)
    {
        cout << b << " ";
    }

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/08ms500 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva1/11ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms508 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva1/12ms316 KiB
11Elfogadva1/12ms316 KiB
12Elfogadva2/22ms316 KiB
13Elfogadva2/22ms508 KiB
14Elfogadva2/22ms316 KiB
15Elfogadva2/22ms316 KiB
16Elfogadva3/32ms316 KiB
17Elfogadva2/279ms1588 KiB
18Elfogadva2/279ms1580 KiB
19Elfogadva4/479ms1588 KiB
20Elfogadva4/479ms1584 KiB
21Elfogadva4/482ms1780 KiB
22Elfogadva4/482ms1588 KiB
23Elfogadva4/489ms2272 KiB