231022026-01-16 12:09:18MrkzMekk Mester munkái (50 pont)cpp17Hibás válasz 0/5039ms3536 KiB
#include <bits/stdc++.h>

using namespace std;
int H,N;
struct mekk{
    int k;
    int v;
    int hossz;
    bool fog;
};
vector<mekk> rendeles;
bool rendz(mekk a, mekk b) {
    if(a.k==b.k)
        return a.hossz<b.hossz;
    return a.k<b.k;
}

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(nullptr);
    istream *in;
    ifstream f("mekk.in");
    //in = &f;
    in = &cin;
    (*in)>>N>>H;
    rendeles.resize(N+1);
    for(int i=1;i<=N;i++){
        (*in)>>rendeles[i].k>>rendeles[i].v;
        rendeles[i].hossz=rendeles[i].v-rendeles[i].k;
    }
    /*for(int i=1;i<=N;i++){
        cout<<rendeles[i].k<<" "<<rendeles[i].v<<" "<<rendeles[i].hossz<<endl;
    }
    cout<<endl;*/
    sort(rendeles.begin(), rendeles.end(), rendz);
    /*for(int i=1;i<=N;i++){
        cout<<rendeles[i].k<<" "<<rendeles[i].v<<" "<<rendeles[i].hossz<<endl;
    }*/
    vector<int> apa(H+1);
    vector<int> fiu(H+1);
    int m1=0, m2=0, A=1, F=1;
    vector<int> Apa(N+1);
    vector<int> Fiu(N+1);
    for(int i=1;i<=N;i++){
        if(apa[rendeles[i].k]==0 && rendeles[i].fog==false){
            for(int j=rendeles[i].k; j<=rendeles[i].v; j++){
                apa[j]=1;
            }
            m1++;
            rendeles[i].fog=true;
            Apa[A++]=i;
        }
        if(fiu[rendeles[i].k]==0 && rendeles[i].fog==false){
            for(int j=rendeles[i].k; j<=rendeles[i].v; j++){
                fiu[j]=1;
            }
            m2++;
            rendeles[i].fog=true;
            Fiu[F++]=i;
        }
    }
    cout<<m1<<" "<<m2<<endl;
    for(int i=1; i<A; i++)
        cout<<Apa[i]<<" ";
    cout<<endl;
    for(int i=1; i<F; i++)
        cout<<Fiu[i]<<" ";
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Hibás válasz0/01ms316 KiB
2Hibás válasz0/04ms580 KiB
3Hibás válasz0/12ms1076 KiB
4Hibás válasz0/12ms1076 KiB
5Hibás válasz0/22ms1084 KiB
6Hibás válasz0/22ms1216 KiB
7Hibás válasz0/22ms1076 KiB
8Hibás válasz0/22ms1260 KiB
9Hibás válasz0/31ms316 KiB
10Hibás válasz0/12ms1268 KiB
11Hibás válasz0/12ms1148 KiB
12Hibás válasz0/22ms1076 KiB
13Hibás válasz0/22ms1076 KiB
14Hibás válasz0/22ms1076 KiB
15Hibás válasz0/22ms1076 KiB
16Hibás válasz0/31ms316 KiB
17Hibás válasz0/239ms3536 KiB
18Hibás válasz0/239ms3528 KiB
19Hibás válasz0/439ms3532 KiB
20Hibás válasz0/439ms3380 KiB
21Hibás válasz0/439ms3380 KiB
22Hibás válasz0/439ms3380 KiB
23Hibás válasz0/439ms3536 KiB