203442026-01-06 15:32:43algoproMekk Mester munkái (50 pont)cpp17Accepted 50/5090ms2272 KiB
// UUID: b4163720-b3d3-4f78-8b0d-9c9ec9516576
#include <bits/stdc++.h>
using namespace std;

int main() {
	int N, H; cin>>N>>H;
	vector<array<int, 3>> V(N);//0.: v
	for(int i=0; i<N; i++) {cin>>V[i][1]>>V[i][0]; V[i][2]=i+1;}
	sort(V.begin(), V.end());
	vector<int> sorszam1(0);
	vector<int> sorszam2(0);
	int ido1=1, ido2=1;
	for(int i=0; i<N; i++)
	{
		if(V[i][1]>=ido1 and V[i][1]<ido2)
		{
			sorszam1.push_back(V[i][2]);
			ido1=V[i][0]+1;
		}
		else if(V[i][1]>=ido2 and V[i][1]<ido1)
		{
			sorszam2.push_back(V[i][2]);
			ido2=V[i][0]+1;
		}
		else if(V[i][1]>=ido1 and V[i][1]>=ido2)
		{
			if(ido1>ido2)
			{
				sorszam1.push_back(V[i][2]);
			ido1=V[i][0]+1;
			}
			else
			{
				sorszam2.push_back(V[i][2]);
			ido2=V[i][0]+1;
			}
		}
	}
	
	cout<<sorszam1.size()<<" "<<sorszam2.size()<<'\n';
	for(int i=0; i<sorszam1.size(); i++) cout<<sorszam1[i]<<" ";
	cout<<'\n';
	for(int i=0; i<sorszam2.size(); i++) cout<<sorszam2[i]<<" ";
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms508 KiB
2Accepted0/08ms316 KiB
3Accepted1/11ms316 KiB
4Accepted1/11ms348 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted2/21ms316 KiB
9Accepted3/31ms508 KiB
10Accepted1/12ms412 KiB
11Accepted1/12ms332 KiB
12Accepted2/22ms316 KiB
13Accepted2/22ms316 KiB
14Accepted2/22ms512 KiB
15Accepted2/22ms408 KiB
16Accepted3/31ms316 KiB
17Accepted2/282ms1576 KiB
18Accepted2/281ms1576 KiB
19Accepted4/482ms1592 KiB
20Accepted4/482ms1576 KiB
21Accepted4/482ms1588 KiB
22Accepted4/483ms1784 KiB
23Accepted4/490ms2272 KiB