1608 2022. 11. 28 20:44:27 kicsiboglar Ádám és Éva együtt cpp11 Elfogadva 50/50 41ms 6472 KiB
#include <iostream>
#include <vector>
#include <deque>

#define ll long long 
#define P pair<ll,ll> 

using namespace std;

ll n, m, i, j, k, mini, maxi, a, b;

deque <P > adam, eva, res1, res2, radam, reva;
bool meet(P a, P b)
{
    if (a.first >= b.second) return false;
    if (b.first >= a.second) return false;
    return true;
}

deque <P > merge(deque<P> adam, deque<P> eva)
{
    deque<P > res;
    while (!adam.empty() && !eva.empty())
    {
        if (meet(adam[0], eva[0]))
        {
            res.push_back({ max(adam[0].first,eva[0].first),min(adam[0].second,eva[0].second) });
        }
        if (adam[0].second < eva[0].second) adam.pop_front();
        else eva.pop_front();
    }
    return res;
}
int main()
{
    cin >> k;
    cin >> n;


    for (i = 1; i <= n; ++i)
    {
        cin >> a >> b;
        adam.push_back({ a,b });
    }

    cin >> m;
    for (i = 1; i <= m; ++i)
    {
        cin >> a >> b;
        eva.push_back({ a,b });
    }

    deque <P > res;

    res = merge(adam, eva);

    
  
    cout << res.size() << "\n";
    for (auto& e : res) cout << e.first << " " << e.second << "\n";
}

Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1820 KiB
2 Elfogadva 0/0 2ms 2008 KiB
3 Elfogadva 2/2 2ms 2244 KiB
4 Elfogadva 2/2 2ms 2416 KiB
5 Elfogadva 2/2 2ms 2620 KiB
6 Elfogadva 2/2 2ms 2864 KiB
7 Elfogadva 2/2 2ms 3108 KiB
8 Elfogadva 2/2 2ms 3288 KiB
9 Elfogadva 2/2 2ms 3404 KiB
10 Elfogadva 2/2 2ms 3492 KiB
11 Elfogadva 2/2 2ms 3616 KiB
12 Elfogadva 2/2 2ms 3676 KiB
13 Elfogadva 2/2 2ms 3800 KiB
14 Elfogadva 2/2 2ms 3912 KiB
15 Elfogadva 2/2 2ms 3848 KiB
16 Elfogadva 2/2 39ms 6180 KiB
17 Elfogadva 3/3 39ms 6184 KiB
18 Elfogadva 3/3 35ms 5816 KiB
19 Elfogadva 4/4 37ms 5944 KiB
20 Elfogadva 4/4 41ms 6352 KiB
21 Elfogadva 4/4 39ms 6472 KiB
22 Elfogadva 4/4 39ms 6340 KiB