237292026-01-28 13:01:11domdiridomdidomMekk Mester munkái (50 pont)cpp17Wrong answer 0/5094ms3504 KiB
#include <vector>
#include <iostream>
#include <algorithm>

using std::vector;

struct Munka {
    int id, v, k;
};

struct Dolgozo {
    vector<int> elvegzett;
    int utolso;
    Dolgozo() {
        utolso = -1;
    }
    bool free(const Munka & m) {
        return m.v > utolso;
    }
    void occ(const Munka & m) {
        utolso = m.v;
        elvegzett.push_back(m.id);
    }
};

bool feltetel(const Munka & a, const Munka & b) {
    if(a.v == b.v)
        return a.k < b.k;
    return a.v < b.v;
}

int main() {
    int n, h;
    std::cin >> n >> h;
    vector<Munka> m(h);
    for(int i = 0; i < h; i++) {
        int id, v, k;
        std::cin >> id >> v >> k;
        m.push_back({id, v - 1, k - 1});
    }
    std::sort(m.begin(), m.end(), feltetel);

    Dolgozo apa, fiu;

    for(const Munka & curr : m) {
        bool apaFree = apa.free(curr), fiuFree = fiu.free(curr);
        if(apaFree && fiuFree) {
            if(apa.utolso > fiu.utolso)
                apa.occ(curr);
            else
                fiu.occ(curr);
        } else if(apaFree)
            apa.occ(curr);
        else if(fiuFree)
            fiu.occ(curr);
    }

    std::cout << apa.elvegzett.size() << ' ' << fiu.elvegzett.size() << '\n';
    for(int i = (int)apa.elvegzett.size() - 1; i >= 0; i--)
        std::cout << apa.elvegzett[i] + 1 << ' ';
    std::cout << '\n';
    for(int i = (int)fiu.elvegzett.size() - 1; i >= 0; i--)
        std::cout << fiu.elvegzett[i] + 1 << ' ';
}
SubtaskSumTestVerdictTimeMemory
base0/50
1Wrong answer0/01ms316 KiB
2Wrong answer0/08ms756 KiB
3Wrong answer0/117ms2716 KiB
4Wrong answer0/117ms2720 KiB
5Wrong answer0/217ms2756 KiB
6Wrong answer0/218ms2720 KiB
7Wrong answer0/217ms2760 KiB
8Wrong answer0/217ms2756 KiB
9Wrong answer0/31ms316 KiB
10Wrong answer0/118ms2760 KiB
11Wrong answer0/118ms2760 KiB
12Wrong answer0/218ms2716 KiB
13Wrong answer0/218ms2912 KiB
14Wrong answer0/218ms2804 KiB
15Wrong answer0/218ms2756 KiB
16Wrong answer0/32ms316 KiB
17Wrong answer0/293ms3480 KiB
18Wrong answer0/293ms3504 KiB
19Wrong answer0/493ms3404 KiB
20Wrong answer0/493ms3404 KiB
21Wrong answer0/493ms3436 KiB
22Wrong answer0/493ms3488 KiB
23Wrong answer0/494ms3484 KiB