198812025-12-28 14:42:01madvirMekk Mester munkái (50 pont)cpp17Futási hiba 0/501ms564 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

struct munka {
    int ind,k,v, done=0;
};

bool rule(munka x, munka y) {
    return x.k<y.k;
}

int main() {
    int n, h;
    cin >> n >> h;
    vector<munka> m;
    vector<munka> g1, g2;
    for(int i=1; i<=n; i++) {
        cin >> m[i].k >> m[i].v;
        m[i].ind=i;
    }
    sort(m.begin()+1,m.end(),rule);
    
    int nc=1, q=1;
    //eloszor az apa
    while(nc<=h) {
        while(m[q].k<nc && q<=n) q++;
        if(q<=n) {
            m[q].done=1;
            nc=m[q].v+1;
            g1.push_back(m[q]);
        }
        else nc=h+1;
    }
    
    //then the son
    nc=1; q=1;
    while(nc<=h) {
        while(m[q].k<nc && q<=n) q++;
        if(q<=n) {
            if(m[q].done==0) {
                nc=m[q].v+1;
                g2.push_back(m[q]);
            }
            else q++;
        }
        else nc=h+1;
    }
    
    cout << g1.size() << " " << g2.size() << endl;
    for(int i=1; i<=g1.size(); i++) {
        cout << g1[i].ind << " ";
    }
    cout << endl;
    for(int i=1; i<=g2.size(); i++) {
    }
    
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Futási hiba0/01ms316 KiB
2Futási hiba0/01ms508 KiB
3Futási hiba0/11ms564 KiB
4Futási hiba0/11ms316 KiB
5Futási hiba0/21ms508 KiB
6Futási hiba0/21ms336 KiB
7Futási hiba0/21ms316 KiB
8Futási hiba0/21ms508 KiB
9Futási hiba0/31ms316 KiB
10Futási hiba0/11ms316 KiB
11Futási hiba0/11ms316 KiB
12Futási hiba0/21ms316 KiB
13Futási hiba0/21ms316 KiB
14Futási hiba0/21ms508 KiB
15Futási hiba0/21ms316 KiB
16Futási hiba0/31ms500 KiB
17Futási hiba0/21ms316 KiB
18Futási hiba0/21ms316 KiB
19Futási hiba0/41ms316 KiB
20Futási hiba0/41ms316 KiB
21Futási hiba0/41ms316 KiB
22Futási hiba0/41ms316 KiB
23Futási hiba0/41ms316 KiB