2372021-03-05 14:10:08balintttÁdám és Éva együttcpp14Elfogadva 50/5052ms7036 KiB
#include<bits/stdc++.h>

using namespace std;

vector<pair<int,int>> v;
vector<pair<int,int>> v2;

int n, m;

int main(){
    cin >> n >> n;
    v.resize(n);
    for(int i=0;i<n;i++){
        cin >> v[i].first >> v[i].second;
    }
    cin >> m;
    v2.resize(m);
    for(int i=0;i<m;i++){
        cin >> v2[i].first >> v2[i].second;
    }
    int poi1 = 0, poi2 = 0;
    queue<pair<int,int>> q;
    while(poi1 < n && poi2 < m){
        while(poi1 < n && poi2 < m && (v[poi1].second <= v2[poi2].first || v[poi1].first >= v2[poi2].second) ){
            if(v[poi1].second <= v2[poi2].first){
                ++poi1;
            }
            if(v[poi1].first >= v2[poi2].second){
                ++poi2;
            }
        }
        if(poi1 < n && poi2 < m){
            q.push({max(v[poi1].first, v2[poi2].first), min(v[poi1].second, v2[poi2].second)});
            if(v[poi1].second < v2[poi2].second){
                ++poi1;
            } else {
                ++poi2;
            }
        }
    }
    cout << q.size() << '\n';
    while(!q.empty()){
        cout << q.front().first << ' ' << q.front().second << '\n';
        q.pop();
    }
return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/02ms1796 KiB
2Elfogadva0/01ms1800 KiB
3Elfogadva2/21ms1836 KiB
4Elfogadva2/21ms1836 KiB
5Elfogadva2/21ms1840 KiB
6Elfogadva2/21ms1740 KiB
7Elfogadva2/21ms1848 KiB
8Elfogadva2/21ms1852 KiB
9Elfogadva2/21ms1852 KiB
10Elfogadva2/21ms1860 KiB
11Elfogadva2/21ms1860 KiB
12Elfogadva2/21ms1868 KiB
13Elfogadva2/21ms1872 KiB
14Elfogadva2/21ms1876 KiB
15Elfogadva2/21ms1876 KiB
16Elfogadva2/234ms3248 KiB
17Elfogadva3/334ms3888 KiB
18Elfogadva3/341ms4528 KiB
19Elfogadva4/435ms5100 KiB
20Elfogadva4/443ms5840 KiB
21Elfogadva4/439ms6396 KiB
22Elfogadva4/452ms7036 KiB