153242025-02-18 11:31:34MrkzÁdám és Éva együttcpp17Accepted 50/5070ms1340 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
    int P;
    cin >> P;

    int A;
    cin >> A;
    vector<pair<int, int>> adam(A);
    for (int i = 0; i < A; ++i) {
        cin >> adam[i].first >> adam[i].second;
    }

    int E; // Eva idoszakainak szama
    cin >> E;
    vector<pair<int, int>> eva(E);
    for (int i = 0; i < E; ++i) {
        cin >> eva[i].first >> eva[i].second;
    }

    vector<pair<int, int>> kozos; // Kozos idoszakok
    int i = 0, j = 0;

    while (i < A && j < E) {
        int adam_kezd = adam[i].first;
        int adam_veg = adam[i].second;
        int eva_kezd = eva[j].first;
        int eva_veg = eva[j].second;
        int kezd = max(adam_kezd, eva_kezd);
        int veg = min(adam_veg, eva_veg);

        if (kezd < veg) {
            kozos.push_back({kezd, veg});
        }

        // kovetkezo idoszak
        if (adam_veg < eva_veg) {
            i++;
        } else {
            j++;
        }
    }

    // Kimenet
    cout << kozos.size() << endl;
    for (const auto& ido : kozos) {
        cout << ido.first << " " << ido.second << endl;
    }

    return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/01ms316 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted2/21ms316 KiB
9Accepted2/21ms316 KiB
10Accepted2/21ms316 KiB
11Accepted2/21ms316 KiB
12Accepted2/21ms528 KiB
13Accepted2/21ms500 KiB
14Accepted2/21ms500 KiB
15Accepted2/21ms316 KiB
16Accepted2/265ms1200 KiB
17Accepted3/368ms1212 KiB
18Accepted3/363ms1132 KiB
19Accepted4/467ms1272 KiB
20Accepted4/470ms1244 KiB
21Accepted4/468ms1340 KiB
22Accepted4/468ms1200 KiB