3264 2023. 02. 23 15:40:40 zsombor Ádám és Éva közül legalább az egyik cpp17 Elfogadva 40/40 86ms 6648 KiB
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

struct str {
    int t, ae, kv;
};

int T, n, m, k;
vector <int> b(2, 0);
vector <str> v;
vector <pair <int, int>> ans;

bool r(str a, str b) {
    if (a.t < b.t) return true;
    if (a.t > b.t) return false;
    return (a.kv > b.kv ? true : false);
}

int main()
{
    cin >> T >> n;
    v.resize(2 * n);
    for (int i = 0; i < n; i++) {
        cin >> v[2 * i].t >> v[2 * i + 1].t;
        v[2 * i].ae = v[2 * i + 1].ae = 0;
        v[2 * i].kv = 1;
        v[2 * i + 1].kv = 0;
    }
    cin >> m;
    v.resize(2 * n + 2 * m);
    for (int i = n; i < n + m; i++) {
        cin >> v[2 * i].t >> v[2 * i + 1].t;
        v[2 * i].ae = v[2 * i + 1].ae = 1;
        v[2 * i].kv = 1;
        v[2 * i + 1].kv = 0;
    }
    sort(v.begin(), v.end(), r);
    for (str& s : v) {
        if (!(b[0] + b[1])) k = s.t;
        b[s.ae] = s.kv;
        if (!(b[0] + b[1])) ans.push_back({ k,s.t });
    }
    cout << ans.size() << endl;
    for (auto& p : ans) cout << p.first << " " << p.second << endl;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 40/40
1 Elfogadva 0/0 3ms 1876 KiB
2 Elfogadva 0/0 3ms 2124 KiB
3 Elfogadva 2/2 3ms 2292 KiB
4 Elfogadva 2/2 3ms 2380 KiB
5 Elfogadva 2/2 3ms 2384 KiB
6 Elfogadva 2/2 2ms 2376 KiB
7 Elfogadva 2/2 3ms 2516 KiB
8 Elfogadva 2/2 3ms 2724 KiB
9 Elfogadva 2/2 3ms 2980 KiB
10 Elfogadva 2/2 3ms 3184 KiB
11 Elfogadva 2/2 2ms 3272 KiB
12 Elfogadva 2/2 3ms 3240 KiB
13 Elfogadva 2/2 3ms 3240 KiB
14 Elfogadva 2/2 3ms 3344 KiB
15 Elfogadva 2/2 3ms 3476 KiB
16 Elfogadva 2/2 76ms 5944 KiB
17 Elfogadva 2/2 71ms 6092 KiB
18 Elfogadva 2/2 74ms 6172 KiB
19 Elfogadva 2/2 61ms 6148 KiB
20 Elfogadva 2/2 86ms 6648 KiB
21 Elfogadva 2/2 76ms 6384 KiB
22 Elfogadva 2/2 65ms 6356 KiB