204042026-01-06 17:42:02hunzombiMekk Mester munkái (50 pont)cpp17Elfogadva 50/5096ms2216 KiB
#include <bits/stdc++.h>
using namespace std;


int main()
{
    int n, m;
    cin >> n >> m;
    priority_queue<tuple<int, int, int>, vector<tuple<int, int, int>>, greater<tuple<int, int, int>>>pq;
    for (int i = 1; i <= n; i++) {
        int u, v;
        cin >> u >> v;
        pq.push({v, u, i});
    }
    vector<int> v1, v2;
    int m1 = 0, m2 = 0;

    while (!pq.empty()) {
        int finish = get<0>(pq.top());
        int start = get<1>(pq.top());
        int id = get<2>(pq.top());
        pq.pop();

        if (m1 > m2) {
            if (m1 <= start) {
                m1 = finish + 1;
                v1.push_back(id);
            } else if (m2 <= start) {
                m2 = finish + 1;
                v2.push_back(id);
            }
        } else {
            if (m2 <= start) {
                m2 = finish + 1;
                v2.push_back(id);
            } else if (m1 <= start) {
                m1 = finish + 1;
                v1.push_back(id);
            }
        }
    }

    cout << v1.size() << ' ' << v2.size() << '\n';
    for (int x : v1) {
        cout << x << ' ';
    }
    cout << '\n';
    for (int x : v2) {
        cout << x << ' ';
    }
    cout << '\n';

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms512 KiB
2Elfogadva0/08ms652 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva1/11ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms508 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva1/12ms316 KiB
11Elfogadva1/12ms420 KiB
12Elfogadva2/22ms316 KiB
13Elfogadva2/22ms316 KiB
14Elfogadva2/22ms380 KiB
15Elfogadva2/23ms528 KiB
16Elfogadva3/32ms404 KiB
17Elfogadva2/289ms2044 KiB
18Elfogadva2/289ms2028 KiB
19Elfogadva4/490ms1908 KiB
20Elfogadva4/489ms2068 KiB
21Elfogadva4/490ms2180 KiB
22Elfogadva4/492ms1964 KiB
23Elfogadva4/496ms2216 KiB