6321 2023. 11. 16 22:11:01 kukkerman Ádám és Éva együtt cpp14 Elfogadva 50/50 90ms 10428 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 Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1816 KiB
2 Elfogadva 0/0 3ms 1984 KiB
3 Elfogadva 2/2 3ms 2220 KiB
4 Elfogadva 2/2 3ms 2400 KiB
5 Elfogadva 2/2 3ms 2528 KiB
6 Elfogadva 2/2 3ms 2684 KiB
7 Elfogadva 2/2 3ms 2696 KiB
8 Elfogadva 2/2 3ms 2732 KiB
9 Elfogadva 2/2 3ms 2948 KiB
10 Elfogadva 2/2 3ms 3160 KiB
11 Elfogadva 2/2 3ms 3380 KiB
12 Elfogadva 2/2 3ms 3628 KiB
13 Elfogadva 2/2 3ms 3836 KiB
14 Elfogadva 2/2 3ms 3924 KiB
15 Elfogadva 2/2 3ms 3908 KiB
16 Elfogadva 2/2 79ms 6012 KiB
17 Elfogadva 3/3 57ms 6956 KiB
18 Elfogadva 3/3 72ms 7712 KiB
19 Elfogadva 4/4 54ms 8136 KiB
20 Elfogadva 4/4 90ms 9044 KiB
21 Elfogadva 4/4 57ms 9864 KiB
22 Elfogadva 4/4 57ms 10428 KiB