16082022-11-28 20:44:27kicsiboglarÁdám és Éva együttcpp11Elfogadva 50/5041ms6472 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ÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/03ms1820 KiB
2Elfogadva0/02ms2008 KiB
3Elfogadva2/22ms2244 KiB
4Elfogadva2/22ms2416 KiB
5Elfogadva2/22ms2620 KiB
6Elfogadva2/22ms2864 KiB
7Elfogadva2/22ms3108 KiB
8Elfogadva2/22ms3288 KiB
9Elfogadva2/22ms3404 KiB
10Elfogadva2/22ms3492 KiB
11Elfogadva2/22ms3616 KiB
12Elfogadva2/22ms3676 KiB
13Elfogadva2/22ms3800 KiB
14Elfogadva2/22ms3912 KiB
15Elfogadva2/22ms3848 KiB
16Elfogadva2/239ms6180 KiB
17Elfogadva3/339ms6184 KiB
18Elfogadva3/335ms5816 KiB
19Elfogadva4/437ms5944 KiB
20Elfogadva4/441ms6352 KiB
21Elfogadva4/439ms6472 KiB
22Elfogadva4/439ms6340 KiB