237812026-01-29 11:36:27domdiridomdidomMekk Mester munkái (50 pont)cpp17Accepted 50/5089ms2468 KiB
#include <vector>
#include <iostream>
#include <algorithm>

using std::vector;

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

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

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

int main() {
    int h, n;
    std::cin >> h >> n;
    vector<Munka> m;
    for(int i = 0; i < h; i++) {
        int v, k;
        std::cin >> v >> k;
        m.push_back({i, 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 = 0; i < apa.elvegzett.size(); i++)
        std::cout << apa.elvegzett[i] + 1 << ' ';
    std::cout << '\n';
    for(int i = 0; i < fiu.elvegzett.size(); i++)
        std::cout << fiu.elvegzett[i] + 1 << ' ';
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/08ms568 KiB
3Accepted1/11ms508 KiB
4Accepted1/11ms500 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms508 KiB
7Accepted2/21ms508 KiB
8Accepted2/21ms316 KiB
9Accepted3/31ms388 KiB
10Accepted1/12ms316 KiB
11Accepted1/12ms316 KiB
12Accepted2/22ms316 KiB
13Accepted2/22ms316 KiB
14Accepted2/22ms316 KiB
15Accepted2/22ms316 KiB
16Accepted3/33ms500 KiB
17Accepted2/282ms1972 KiB
18Accepted2/282ms2020 KiB
19Accepted4/482ms1924 KiB
20Accepted4/482ms1916 KiB
21Accepted4/485ms1944 KiB
22Accepted4/483ms1904 KiB
23Accepted4/489ms2468 KiB