2942021-08-20 14:23:46Babják PéterÁdám és Éva közül legalább az egyikcpp11Accepted 40/4048ms7232 KiB
#include <bits/stdc++.h>
#define INF 1000000000
using namespace std;
int main()
{
	int mx;
	cin>>mx;
	int an,bn;
	cin>>an;
	vector<pair<int,int>> a(an+1);
	for(int i=0;i<an;i++)
	{
		cin>>a[i].first>>a[i].second;
	}
	a[an]={INF,INF};
	cin>>bn;
	vector<pair<int,int>> b(bn+1);
	for(int i=0;i<bn;i++)
	{
		cin>>b[i].first>>b[i].second;
	}
	b[bn]={INF,INF};
	int ac,bc;
	ac=bc=0;
	vector<pair<int,int>>ans;
	int st,en;
	while(!(ac==an && bc==bn))
	{
		if(a[ac].first<b[bc].first)
		{
			st=a[ac].first;
			en=a[ac].second;
			ac++;
		}
		else
		{
			st=b[bc].first;
			en=b[bc].second;
			bc++;
		}
		while(a[ac].first<=en || b[bc].first<=en)
		{
			if(a[ac].first<=en)
			{
				en=max(en,a[ac].second);
				ac++;
			}
			else if(b[bc].first<=en)
			{
				en=max(en,b[bc].second);
				bc++;
			}
		}
		ans.push_back({st,en});
	}
	cout<<ans.size()<<'\n';
	for(pair<int,int>p:ans)cout<<p.first<<' '<<p.second<<'\n';
	return 0;
}
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/02ms1740 KiB
2Accepted0/01ms1780 KiB
3Accepted2/21ms1840 KiB
4Accepted2/21ms1852 KiB
5Accepted2/21ms1852 KiB
6Accepted2/21ms1852 KiB
7Accepted2/21ms1864 KiB
8Accepted2/21ms1864 KiB
9Accepted2/21ms1872 KiB
10Accepted2/21ms1868 KiB
11Accepted2/21ms1872 KiB
12Accepted2/21ms1876 KiB
13Accepted2/21ms1880 KiB
14Accepted2/22ms1888 KiB
15Accepted2/21ms1892 KiB
16Accepted2/248ms3472 KiB
17Accepted2/245ms4084 KiB
18Accepted2/237ms4568 KiB
19Accepted2/239ms5152 KiB
20Accepted2/234ms6188 KiB
21Accepted2/230ms6588 KiB
22Accepted2/232ms7232 KiB