63212023-11-16 22:11:01kukkermanÁdám és Éva együttcpp14Elfogadva 50/5090ms10428 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using Intervallumok = std::vector<std::pair<int, int>>;

void beolvas(std::istream &in, Intervallumok &adam, Intervallumok &eva) {
    int utolso_idopont;
    in >> utolso_idopont;

    int adam_idopontok_szama;
    in >> adam_idopontok_szama;
    adam.resize(adam_idopontok_szama);
    for (int i = 0; i < adam_idopontok_szama; i++) {
        in >> adam[i].first >> adam[i].second;
    }

    int eva_idopontok_szama;
    in >> eva_idopontok_szama;
    eva.resize(eva_idopontok_szama);
    for (int i = 0; i < eva_idopontok_szama; i++) {
        in >> eva[i].first >> eva[i].second;
    }
}

void feldolgoz(const Intervallumok &adam, const Intervallumok &eva) {
    Intervallumok kozos;

    auto a = adam.cbegin();
    auto e = eva.cbegin();
    while (a != adam.cend() && e != eva.cend()) {
        const auto k = std::max(a->first,  e->first);
        const auto v = std::min(a->second, e->second);

        if (k < v) {
            kozos.emplace_back(k, v);
        }

        if (a->second == e->second ?
            a->first   < e->first  :
            a->second  < e->second) {

            ++a;

        } else {
            ++e;
        }
    }

    std::cout << kozos.size() << std::endl;
    for (const auto &k : kozos) {
        std::cout << k.first << ' ' << k.second << std::endl;
    }
}

int main() {
    Intervallumok adam, eva;
    beolvas(std::cin, adam, eva);

    feldolgoz(adam, eva);

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1816 KiB
2Elfogadva0/03ms1984 KiB
3Elfogadva2/23ms2220 KiB
4Elfogadva2/23ms2400 KiB
5Elfogadva2/23ms2528 KiB
6Elfogadva2/23ms2684 KiB
7Elfogadva2/23ms2696 KiB
8Elfogadva2/23ms2732 KiB
9Elfogadva2/23ms2948 KiB
10Elfogadva2/23ms3160 KiB
11Elfogadva2/23ms3380 KiB
12Elfogadva2/23ms3628 KiB
13Elfogadva2/23ms3836 KiB
14Elfogadva2/23ms3924 KiB
15Elfogadva2/23ms3908 KiB
16Elfogadva2/279ms6012 KiB
17Elfogadva3/357ms6956 KiB
18Elfogadva3/372ms7712 KiB
19Elfogadva4/454ms8136 KiB
20Elfogadva4/490ms9044 KiB
21Elfogadva4/457ms9864 KiB
22Elfogadva4/457ms10428 KiB