89562024-02-07 22:42:06kukkermanMekk Mester munkái (50 pont)cpp17Elfogadva 50/5043ms6744 KiB
#include <iostream>
#include <vector>
#include <algorithm>

struct Megrendeles {
    int kezd;
    int veg;
    int azon;
};

std::vector<Megrendeles> beolvas(std::istream &be) {
    int n, h;
    be >> n >> h;

    std::vector<Megrendeles> m(n);
    for (int i = 0; i < n; i++) {
        m[i].azon = i + 1;
        be >> m[i].kezd >> m[i].veg;
    }

    return m;
}

void feldolgoz(std::vector<Megrendeles> &megrendelesek) {
    const auto n = megrendelesek.size();

    std::sort(megrendelesek.begin(), megrendelesek.end(), [](const Megrendeles &m1, const Megrendeles &m2) {
        return m1.veg < m2.veg;
    });

    std::vector<int> mester_munkai, fiu_munkai;
    int mester_szabad = 0, fiu_szabad = 0;
    for (const auto &m: megrendelesek) {
        if (mester_szabad <= m.kezd && (m.kezd < fiu_szabad || fiu_szabad < mester_szabad)) {
            mester_munkai.push_back(m.azon);
            mester_szabad = m.veg + 1;

        } else if (fiu_szabad <= m.kezd) {
            fiu_munkai.push_back(m.azon);
            fiu_szabad = m.veg + 1;
        }
    }

    using std::cout;

    cout << mester_munkai.size() << ' ' << fiu_munkai.size() << '\n';

    for (auto m: mester_munkai) {
        cout << m << ' ';
    }
    cout << '\n';

    for (auto m: fiu_munkai) {
        cout << m << ' ';
    }
    cout << '\n';
}

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    std::cout.tie(nullptr);

    auto megrendelesek = beolvas(std::cin);
    feldolgoz(megrendelesek);

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1828 KiB
2Elfogadva0/06ms2272 KiB
3Elfogadva1/13ms2232 KiB
4Elfogadva1/13ms2340 KiB
5Elfogadva2/23ms2544 KiB
6Elfogadva2/23ms2908 KiB
7Elfogadva2/23ms2856 KiB
8Elfogadva2/23ms2984 KiB
9Elfogadva3/33ms3068 KiB
10Elfogadva1/13ms3088 KiB
11Elfogadva1/13ms3148 KiB
12Elfogadva2/23ms3156 KiB
13Elfogadva2/23ms3152 KiB
14Elfogadva2/23ms3236 KiB
15Elfogadva2/23ms3164 KiB
16Elfogadva3/33ms3160 KiB
17Elfogadva2/237ms5640 KiB
18Elfogadva2/235ms5684 KiB
19Elfogadva4/437ms5600 KiB
20Elfogadva4/437ms5592 KiB
21Elfogadva4/437ms5720 KiB
22Elfogadva4/439ms6208 KiB
23Elfogadva4/443ms6744 KiB