136942025-01-08 12:48:33gyjazminMekk Mester munkái (50 pont)cpp17Accepted 50/5089ms2272 KiB
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int n, h;
    cin >> n >> h;
    vector<pair<pair<int, int>, int>> v(n);
    for (int i = 0; i < n; i++) {
        int e, m;
        cin >> e >> m;
        v[i].first.first = m;
        v[i].first.second = e;
        v[i].second = i+1;
    }
    sort(v.begin(), v.end());
    vector<int> mekk;
    vector<int> fia;
    int ja = 0;
    int jf = 0;
    int cv = 0;
    while (cv<n) {
        if (ja > jf) {
            if (v[cv].first.second > ja) {
                mekk.push_back(v[cv].second);
                ja = v[cv].first.first;
            }
            else if (v[cv].first.second > jf) {
                fia.push_back(v[cv].second);
                jf = v[cv].first.first;
            }
            cv++;
        }
        else {
            if (v[cv].first.second > jf) {
                fia.push_back(v[cv].second);
                jf = v[cv].first.first;
            }
            else if (v[cv].first.second > ja) {
                mekk.push_back(v[cv].second);
                ja = v[cv].first.first;
            }
            cv++;
        }
    }    
    cout << mekk.size() << " " << fia.size() << endl;
    for (int x : mekk) cout << x << " ";
    cout << endl;
    for (int x : fia) cout << x << " ";
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/08ms316 KiB
3Accepted1/11ms316 KiB
4Accepted1/11ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms508 KiB
8Accepted2/21ms316 KiB
9Accepted3/31ms388 KiB
10Accepted1/12ms316 KiB
11Accepted1/12ms316 KiB
12Accepted2/22ms316 KiB
13Accepted2/22ms316 KiB
14Accepted2/22ms328 KiB
15Accepted2/22ms508 KiB
16Accepted3/32ms500 KiB
17Accepted2/279ms1584 KiB
18Accepted2/279ms1580 KiB
19Accepted4/479ms1580 KiB
20Accepted4/479ms1580 KiB
21Accepted4/479ms1584 KiB
22Accepted4/482ms1588 KiB
23Accepted4/489ms2272 KiB