237292026-01-28 13:01:11domdiridomdidomMekk Mester munkái (50 pont)cpp17Hibás válasz 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 << ' ';
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Hibás válasz0/01ms316 KiB
2Hibás válasz0/08ms756 KiB
3Hibás válasz0/117ms2716 KiB
4Hibás válasz0/117ms2720 KiB
5Hibás válasz0/217ms2756 KiB
6Hibás válasz0/218ms2720 KiB
7Hibás válasz0/217ms2760 KiB
8Hibás válasz0/217ms2756 KiB
9Hibás válasz0/31ms316 KiB
10Hibás válasz0/118ms2760 KiB
11Hibás válasz0/118ms2760 KiB
12Hibás válasz0/218ms2716 KiB
13Hibás válasz0/218ms2912 KiB
14Hibás válasz0/218ms2804 KiB
15Hibás válasz0/218ms2756 KiB
16Hibás válasz0/32ms316 KiB
17Hibás válasz0/293ms3480 KiB
18Hibás válasz0/293ms3504 KiB
19Hibás válasz0/493ms3404 KiB
20Hibás válasz0/493ms3404 KiB
21Hibás válasz0/493ms3436 KiB
22Hibás válasz0/493ms3488 KiB
23Hibás válasz0/494ms3484 KiB