230902026-01-16 11:53:01helloworldMekk Mester munkái (50 pont)cpp17Wrong answer 0/5086ms1748 KiB
#include <iostream>
#include <algorithm>
using namespace std;

int N, M;

struct Munka {
    int a, b, id;
};

Munka m[100000];

int id_A[100000];
int id_B[100000];
int dbA = 0, dbB = 0;

int main()
{
    cin >> N >> M;

    for(int i = 0; i < N; i++){
        cin >> m[i].a >> m[i].b;
        m[i].id = i + 1;
    }

    // végidő szerint rendezünk
    sort(m, m + N, [](Munka x, Munka y){
        return x.b < y.b;
    });

    int vegeA = 0, vegeB = 0;

    for(int i = 0; i < N; i++){
        int a = m[i].a;
        int b = m[i].b;

        // mindig az legyen A, aki előbb felszabadul
        if(vegeA > vegeB){
            swap(vegeA, vegeB);
            swap(dbA, dbB);
        }

        if(a >= vegeA){
            id_A[dbA++] = m[i].id;
            vegeA = b;
        }
        else if(a >= vegeB){
            id_B[dbB++] = m[i].id;
            vegeB = b;
        }
    }

    cout << dbA << " " << dbB << "\n";

    for(int i = 0; i < dbA; i++){
        cout << id_A[i] << " ";
    }
    cout << "\n";

    for(int i = 0; i < dbB; i++){
        cout << id_B[i] << " ";
    }

    return 0;
}
SubtaskSumTestVerdictTimeMemory
base0/50
1Wrong answer0/01ms316 KiB
2Wrong answer0/07ms316 KiB
3Wrong answer0/11ms316 KiB
4Wrong answer0/11ms316 KiB
5Wrong answer0/21ms316 KiB
6Wrong answer0/21ms316 KiB
7Wrong answer0/21ms316 KiB
8Wrong answer0/21ms316 KiB
9Wrong answer0/31ms500 KiB
10Wrong answer0/11ms316 KiB
11Wrong answer0/12ms508 KiB
12Wrong answer0/22ms316 KiB
13Wrong answer0/22ms316 KiB
14Wrong answer0/21ms392 KiB
15Wrong answer0/22ms316 KiB
16Wrong answer0/31ms316 KiB
17Wrong answer0/276ms1504 KiB
18Wrong answer0/276ms1344 KiB
19Wrong answer0/476ms1472 KiB
20Wrong answer0/476ms1588 KiB
21Wrong answer0/478ms1600 KiB
22Wrong answer0/479ms1644 KiB
23Wrong answer0/486ms1748 KiB