4602 | 2023. 03. 30 11:11:04 | AGergo | Ádám és Éva együtt | cpp17 | Elfogadva 50/50 | 41ms | 5580 KiB |
#include <bits/stdc++.h>
using namespace std;
int main()
{
int utolso,adamszam,evaszam;
cin >> utolso >> adamszam;
vector<int> ansStart;
vector<int> ansEnd;
int ans = 0;
vector<int> aStart(adamszam+1,-1);
vector<int> aEnd(adamszam+1,-1);
for(int i = 0; i < adamszam; i++)
{
cin >> aStart[i] >> aEnd[i];
}
cin >> evaszam;
vector<int> eStart(evaszam+1,-1);
vector<int> eEnd(evaszam+1,-1);
for(int i = 0; i < evaszam; i++)
{
cin >> eStart[i] >> eEnd[i];
}
int x = 0,y = 0; //x -eva index; y - adam index
while(y < adamszam && x < evaszam)
{
//cout << "adam: " << y << " eva: " << x << "\n";
if(eStart[x] > aStart[y] && eStart[x] < aEnd[y])
{
ans++;
if(eEnd[x] > aEnd[y])
{
ansStart.push_back(eStart[x]);
ansEnd.push_back(aEnd[y]);
y++;
}
else
{
ansStart.push_back(eStart[x]);
ansEnd.push_back(eEnd[x]);
x++;
}
}
else if(aStart[y] > eStart[x] && aStart[y] < eEnd[x])
{
ans++;
if(aEnd[y] > eEnd[x])
{
ansStart.push_back(aStart[y]);
ansEnd.push_back(eEnd[x]);
x++;
}
else
{
ansStart.push_back(aStart[y]);
ansEnd.push_back(aEnd[y]);
y++;
}
}
else if(aStart[y] == eStart[x])
{
ans++;
if(aEnd[y] > eEnd[x])
{
ansStart.push_back(aStart[y]);
ansEnd.push_back(eEnd[x]);
x++;
}
else
{
ansStart.push_back(aStart[y]);
ansEnd.push_back(aEnd[y]);
y++;
}
}
if(aStart[y] == eStart[x])
{
if(aEnd[y] < eEnd[x])
{
y++;
}
else
{
x++;
}
}
while(aEnd[y] <= eStart[x])
{
y++;
}
while(eEnd[x] <= aStart[y])
{
x++;
}
}
cout << ans << "\n";
for(int i = 0; i < ans; i++)
{
cout << ansStart[i] << " " << ansEnd[i] << "\n";
}
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 50/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1808 KiB | |||
2 | Elfogadva | 0/0 | 3ms | 2060 KiB | |||
3 | Elfogadva | 2/2 | 3ms | 2272 KiB | |||
4 | Elfogadva | 2/2 | 3ms | 2428 KiB | |||
5 | Elfogadva | 2/2 | 3ms | 2636 KiB | |||
6 | Elfogadva | 2/2 | 3ms | 2848 KiB | |||
7 | Elfogadva | 2/2 | 2ms | 3060 KiB | |||
8 | Elfogadva | 2/2 | 2ms | 3316 KiB | |||
9 | Elfogadva | 2/2 | 3ms | 3520 KiB | |||
10 | Elfogadva | 2/2 | 3ms | 3700 KiB | |||
11 | Elfogadva | 2/2 | 3ms | 3784 KiB | |||
12 | Elfogadva | 2/2 | 3ms | 3812 KiB | |||
13 | Elfogadva | 2/2 | 3ms | 4036 KiB | |||
14 | Elfogadva | 2/2 | 3ms | 4244 KiB | |||
15 | Elfogadva | 2/2 | 3ms | 4280 KiB | |||
16 | Elfogadva | 2/2 | 39ms | 5288 KiB | |||
17 | Elfogadva | 3/3 | 39ms | 5416 KiB | |||
18 | Elfogadva | 3/3 | 35ms | 5508 KiB | |||
19 | Elfogadva | 4/4 | 37ms | 5304 KiB | |||
20 | Elfogadva | 4/4 | 41ms | 5580 KiB | |||
21 | Elfogadva | 4/4 | 39ms | 5348 KiB | |||
22 | Elfogadva | 4/4 | 39ms | 5348 KiB |