179942025-09-24 21:37:44algoproMekk Mester munkái (50 pont)cpp17Hibás válasz 0/50112ms3504 KiB
// UUID: f9c5ce36-2b0a-40ba-9de4-f3885639c522
#include <bits/stdc++.h>
using namespace std;

int main() {
	int x, y; cin >> x >> y;
	vector<int> indexes1(0);
	vector<int> indexes2(0);
	vector<array<int, 3>> z(x);
	vector<array<int, 3>> z2(x);
	for (int i = 0; i < x; i++) {
		cin >> z[i][0] >> z[i][1];
		z[i][2] = i + 1;
		z2[i][0] = z[i][0];
		z2[i][1] = z[i][1];
		z2[i][2] = z[i][2];
	}

	sort(begin(z),end(z));
	indexes1.push_back(1);
	int elozo = 0;
	for (int i = 1; i < x; i++) {
		if (z[i][0] <= z[elozo][1]){
			if(z[i][1] < z[elozo][1]) {
				indexes1.pop_back();
				indexes1.push_back(z[i][2]);
				elozo = i;
			}
		}
		else {
			indexes1.push_back(z[i][2]);
			elozo = i;
		}
	}
	
	for (int i : indexes1) {
		z2[i - 1][0] = -1;
	}
	sort(begin(z2), end(z2));
	if (indexes1.size() == x) {
		cout << indexes1.size() << " " << 0 << endl;
		for (int i : indexes1) {
			cout << i << " ";
		}
		return 0;
	}
	for (int i = 0; i < x; i++) {
		if (z2[i][0] != -1) {
			indexes2.push_back(i + 1);
			elozo = i;
			break;
		}
	}
	for (int i = 1; i < x; i++) {
		if (z2[i][0] != -1) {
			if (z2[i][0] <= z2[elozo][1]){
				if(z2[i][1] < z2[elozo][1]) {
					indexes2.pop_back();
					indexes2.push_back(z2[i][2]);
					elozo = i;
				}
			}
			else {
				indexes2.push_back(z2[i][2]);
				elozo = i;
			}
		}
	}
	sort(begin(indexes1), end(indexes1));
	sort(begin(indexes2), end(indexes2));
	cout << indexes1.size() << " " << indexes2.size() << endl;
	for (int i : indexes1) cout << i << " ";
	cout << endl;
	for (int i : indexes2) cout << i << " ";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Hibás válasz0/01ms316 KiB
2Hibás válasz0/08ms632 KiB
3Hibás válasz0/11ms508 KiB
4Hibás válasz0/11ms316 KiB
5Hibás válasz0/21ms316 KiB
6Hibás válasz0/21ms508 KiB
7Hibás válasz0/21ms316 KiB
8Hibás válasz0/21ms316 KiB
9Hibás válasz0/31ms500 KiB
10Hibás válasz0/12ms420 KiB
11Hibás válasz0/12ms316 KiB
12Hibás válasz0/22ms316 KiB
13Hibás válasz0/22ms500 KiB
14Hibás válasz0/22ms556 KiB
15Hibás válasz0/22ms424 KiB
16Hibás válasz0/32ms316 KiB
17Hibás válasz0/297ms2760 KiB
18Hibás válasz0/297ms2752 KiB
19Hibás válasz0/497ms2760 KiB
20Hibás válasz0/497ms2756 KiB
21Hibás válasz0/498ms2804 KiB
22Hibás válasz0/4101ms2772 KiB
23Hibás válasz0/4112ms3504 KiB