151382025-02-13 16:19:08horkaÁdám és Éva együttcpp17Elfogadva 50/5065ms5812 KiB
#include <bits/stdc++.h>
using namespace std;
vector<array<int, 2>> ans;
void add(int l, int r)
{
    if(l<r) ans.push_back({l,r});
}

int main()
{
    int p,n; cin>>p>>n;
    set<array<int, 3>> s;
    for(int i=0; i<n; i++)
    {
        int l,r; cin>>l>>r;
        s.insert({l,1,0});
        s.insert({r+1,0,0});
    }
    cin>>n;
    while(n--)
    {
        int l,r; cin>>l>>r;
        s.insert({l,1,1});
        s.insert({r+1,0,1});
    }
    int l1=0,l2=0;
    for(auto [ido,tip,ki]:s)
    {
        if(tip==0)
        {
            if(l1 && l2) add(max(l1,l2),ido-1);
            if(ki==1)
            {
                l2=0;
            }
            else l1=0;
        }
        else
        {
            if(ki==0) l1=ido;
            else l2=ido;
        }
    }
    cout<<ans.size()<<"\n";
    for(auto &[l,r]:ans)
        cout<<l<<" "<<r<<"\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva2/21ms500 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms508 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/21ms500 KiB
10Elfogadva2/21ms316 KiB
11Elfogadva2/21ms316 KiB
12Elfogadva2/21ms316 KiB
13Elfogadva2/21ms316 KiB
14Elfogadva2/21ms316 KiB
15Elfogadva2/21ms376 KiB
16Elfogadva2/263ms5556 KiB
17Elfogadva3/361ms5604 KiB
18Elfogadva3/354ms5116 KiB
19Elfogadva4/461ms5344 KiB
20Elfogadva4/465ms5812 KiB
21Elfogadva4/461ms5648 KiB
22Elfogadva4/461ms5528 KiB