181402025-10-05 12:53:36AblablablaMekk Mester munkái (50 pont)cpp17Accepted 50/5092ms2268 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	int N, H;
	cin >> N >> H;

	vector<array<int, 3>> rendelesek(N);

	for (int i = 0; i < N; ++i) {
        int k, v;
        cin >> k >> v;
        rendelesek[i] = {v, k, i + 1};
    }

	sort(rendelesek.begin(), rendelesek.end());

    int mveg = 0, fveg = 0;
    vector<int> mrendelesek, frendelesek;

    for (int i = 0; i < N; i++) {
        if(mveg > fveg){
            if (rendelesek[i][1] > mveg) {
                mrendelesek.push_back(rendelesek[i][2]);
                mveg = rendelesek[i][0];
            } else if (rendelesek[i][1] > fveg) {
                frendelesek.push_back(rendelesek[i][2]);
                fveg = rendelesek[i][0];
            }
        } else{
            if(rendelesek[i][1] > fveg){
                frendelesek.push_back(rendelesek[i][2]);
                fveg = rendelesek[i][0];
            } else if(rendelesek[i][1] > mveg){
                mrendelesek.push_back(rendelesek[i][2]);
                mveg = rendelesek[i][0];
            }
        }
    }

    cout << mrendelesek.size() << " " << frendelesek.size() << "\n";
    for (int i = 0; i < mrendelesek.size(); i++) {
        cout << mrendelesek[i] << " ";
    }
    cout << "\n";
    for (int i = 0; i < frendelesek.size(); i++) {
        cout << frendelesek[i] << " ";
    }
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/08ms316 KiB
3Accepted1/11ms316 KiB
4Accepted1/11ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms376 KiB
7Accepted2/21ms400 KiB
8Accepted2/21ms392 KiB
9Accepted3/31ms316 KiB
10Accepted1/11ms316 KiB
11Accepted1/12ms412 KiB
12Accepted2/22ms316 KiB
13Accepted2/22ms412 KiB
14Accepted2/22ms316 KiB
15Accepted2/22ms328 KiB
16Accepted3/32ms316 KiB
17Accepted2/282ms1588 KiB
18Accepted2/282ms1580 KiB
19Accepted4/482ms1584 KiB
20Accepted4/482ms1588 KiB
21Accepted4/483ms1588 KiB
22Accepted4/485ms1596 KiB
23Accepted4/492ms2268 KiB