226622026-01-15 13:51:14SpoonMekk Mester munkái (50 pont)cpp17Accepted 50/5089ms2720 KiB
#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

struct Munka {
    int k;
    int v;
    int index;
};

int n, h;
vector<Munka> munkak;
vector<Munka> mesterMunkak;
vector<Munka> fiuMunkak;

bool Compare1(const Munka& a, const Munka& b) {
    return a.v < b.v;
}

void Beolvas() {
    cin >> n >> h;
    munkak.resize(n + 1);
    for (int i = 1; i <= n; i++) {
        cin >> munkak[i].k >> munkak[i].v;
        munkak[i].index = i;
    }
}

void Kiir() {
    cout << mesterMunkak.size() << ' ' << fiuMunkak.size() << '\n';
    for (auto x : mesterMunkak) {
        cout << x.index << ' ';
    }
    cout << '\n';
    for (auto x : fiuMunkak) {
        cout << x.index << ' ';
    }
}

void Feladat() {
    int mesterFoglalt = 0;
    int fiuFoglalt = 0;
    for (int i = 1; i <= n; i++) {
        if (mesterFoglalt > fiuFoglalt) {
            if (mesterFoglalt < munkak[i].k) {
                mesterMunkak.push_back(munkak[i]);
                mesterFoglalt = munkak[i].v;
            }
            else if (fiuFoglalt < munkak[i].k) {
                fiuMunkak.push_back(munkak[i]);
                fiuFoglalt = munkak[i].v;
            }
        }
        else {
            if (fiuFoglalt < munkak[i].k) {
                fiuMunkak.push_back(munkak[i]);
                fiuFoglalt = munkak[i].v;
            }
            else if (mesterFoglalt < munkak[i].k) {
                mesterMunkak.push_back(munkak[i]);
                mesterFoglalt = munkak[i].v;
            }
        }
    }
}

int main() {
    Beolvas();
    sort(munkak.begin(), munkak.end(), Compare1);
    Feladat();
    Kiir();
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms500 KiB
2Accepted0/08ms508 KiB
3Accepted1/11ms316 KiB
4Accepted1/11ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms508 KiB
7Accepted2/21ms508 KiB
8Accepted2/21ms316 KiB
9Accepted3/32ms316 KiB
10Accepted1/12ms316 KiB
11Accepted1/11ms508 KiB
12Accepted2/22ms508 KiB
13Accepted2/22ms548 KiB
14Accepted2/22ms508 KiB
15Accepted2/22ms352 KiB
16Accepted3/32ms508 KiB
17Accepted2/279ms1580 KiB
18Accepted2/279ms1584 KiB
19Accepted4/479ms1584 KiB
20Accepted4/481ms1588 KiB
21Accepted4/482ms1588 KiB
22Accepted4/482ms1844 KiB
23Accepted4/489ms2720 KiB