179232025-09-23 18:07:57algoproMekk Mester munkái (50 pont)cpp17Accepted 50/50111ms6576 KiB
// UUID: 87fa2390-9cc5-4aeb-bbcb-e57140038574
#include <bits/stdc++.h>
using namespace std;

int main() {
	int n, h;
	cin >> n >> h;
	vector<vector<int>> vk(n, vector<int>(3));
	for (int i = 0; i < n; i++) {
		int k, v;
		cin >> k >> v;
		vk[i] = {v, k, i+1};
	}
	sort(vk.begin(), vk.end());
	vector<int> m1, m2;
	int end1 = 0, end2 = 0;
	for (auto i : vk) {
		if (end2 > end1) {
			if (i[1] > end2) {
				m2.push_back(i[2]);
				end2 = i[0];
			} else if (i[1] > end1) {
				m1.push_back(i[2]);
				end1 = i[0];
			}
			continue;
		}
		if (i[1] > end1) {
			m1.push_back(i[2]);
			end1 = i[0];
		} else if (i[1] > end2) {
			m2.push_back(i[2]);
			end2 = i[0];
		}
	}
	cout << m1.size() << " " << m2.size() << endl;
	for (int x : m1) cout << x << " ";
	cout << endl;
	for (int x : m2) cout << x << " ";
	cout << endl;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/08ms956 KiB
3Accepted1/11ms316 KiB
4Accepted1/11ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted2/21ms404 KiB
9Accepted3/31ms316 KiB
10Accepted1/12ms316 KiB
11Accepted1/12ms316 KiB
12Accepted2/22ms448 KiB
13Accepted2/22ms336 KiB
14Accepted2/22ms316 KiB
15Accepted2/22ms316 KiB
16Accepted3/32ms316 KiB
17Accepted2/297ms5852 KiB
18Accepted2/297ms5884 KiB
19Accepted4/498ms5704 KiB
20Accepted4/497ms5888 KiB
21Accepted4/498ms5940 KiB
22Accepted4/4101ms5940 KiB
23Accepted4/4111ms6576 KiB