231252026-01-16 12:52:37MrkzMekk Mester munkái (50 pont)cpp17Wrong answer 0/50699ms4460 KiB
#include <bits/stdc++.h>

using namespace std;
int H,N;
struct mekk{
    int k;
    int v;
    int hossz;
    int sorsz;
    bool fog;
};
vector<mekk> rendeles;
bool rendz(mekk a, mekk b) {
    if(a.hossz==b.hossz)
        return a.k<b.k;
    return a.hossz<b.hossz;
}
bool vanido(vector<int> munkas, int k, int v){
    for(int i=k;i<=v;i++)
        if(munkas[i]!=0)
            return false;
    return true;
}
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;
        rendeles[i].sorsz=i;
    }

    /*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<<"  ("<<rendeles[i].sorsz<<")"<<endl;
    }
    cout<<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(vanido(apa, rendeles[i].k, rendeles[i].v) && 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++]=rendeles[i].sorsz;
        }
        if(vanido(fiu, rendeles[i].k, rendeles[i].v) && 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++]=rendeles[i].sorsz;
        }

    }
    Fiu.resize(F);
    Apa.resize(A);
    sort(Fiu.begin(), Fiu.end());
    sort(Apa.begin(), Apa.end());
    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;
}
SubtaskSumTestVerdictTimeMemory
base0/50
1Accepted0/01ms316 KiB
2Wrong answer0/039ms828 KiB
3Wrong answer0/17ms1772 KiB
4Wrong answer0/17ms1588 KiB
5Wrong answer0/27ms1588 KiB
6Wrong answer0/27ms1532 KiB
7Wrong answer0/27ms1588 KiB
8Wrong answer0/27ms1588 KiB
9Wrong answer0/31ms316 KiB
10Wrong answer0/150ms1632 KiB
11Wrong answer0/148ms1652 KiB
12Wrong answer0/248ms1588 KiB
13Wrong answer0/248ms1524 KiB
14Wrong answer0/250ms1596 KiB
15Wrong answer0/250ms1556 KiB
16Wrong answer0/32ms316 KiB
17Time limit exceeded0/2699ms4308 KiB
18Time limit exceeded0/2699ms4312 KiB
19Time limit exceeded0/4691ms4268 KiB
20Time limit exceeded0/4691ms4460 KiB
21Time limit exceeded0/4683ms4268 KiB
22Time limit exceeded0/4699ms4268 KiB
23Time limit exceeded0/4684ms4272 KiB