142942025-01-10 12:04:20KissCsongor777Mekk Mester munkái (50 pont)cpp17Hibás válasz 0/50119ms5936 KiB
#include <iostream>
#include <algorithm>
#include <set>
#include <bits/stdc++.h>
using namespace std;

struct megrendeles
{
    int k,v,s,l;
};

int f(megrendeles x, megrendeles y)
{
    if(x.l<y.l)return 1;
    else if(x.l==y.l){if(x.k<y.k)return 1; else return 0;}
    else return 0;
}

megrendeles m[100001];

int main()
{
    int n,h,m1,m2;
    bool t;
    cin>>n>>h;
    int a[h+1]={0}, b[h+1]={0};
    set<int> mes1,mes2;
    for(int i=1; i<=n; i++)
    {
        cin>>m[i].k>>m[i].v;
        m[i].s=i;
        m[i].l=m[i].v-m[i].k;
    }
    sort(m+1,m+n+1,f);
    for(int i=1; i<=n; i++)
       {
           t=true;
           for(int j=m[i].k; j<=m[i].v && t; j++)if(a[j]==1)t=false;
           if(t){mes1.insert(m[i].s); fill(a+m[i].k, a+m[i].v+1, 1); }
           else {t=true;for(int j=m[i].k; j<=m[i].v && t; j++)if(b[j]==1)t=false;
           if(t){mes2.insert(m[i].s); fill(b+m[i].k, b+m[i].v+1, 1);}}
       }
       cout<<mes1.size()<<" "<<mes2.size()<<endl;
       set<int>::iterator it;
       for(it=mes1.begin(); it!=mes1.end(); it++)cout<<*it<<" ";
       cout<<endl;
       for(it=mes2.begin(); it!=mes2.end(); it++)cout<<*it<<" ";
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Elfogadva0/01ms316 KiB
2Hibás válasz0/08ms528 KiB
3Hibás válasz0/12ms1076 KiB
4Hibás válasz0/12ms1076 KiB
5Hibás válasz0/22ms1076 KiB
6Hibás válasz0/22ms1076 KiB
7Hibás válasz0/22ms1076 KiB
8Hibás válasz0/22ms1132 KiB
9Hibás válasz0/31ms328 KiB
10Hibás válasz0/13ms1076 KiB
11Hibás válasz0/13ms1080 KiB
12Hibás válasz0/23ms1080 KiB
13Hibás válasz0/23ms1076 KiB
14Hibás válasz0/23ms1196 KiB
15Hibás válasz0/23ms1260 KiB
16Hibás válasz0/32ms508 KiB
17Hibás válasz0/2101ms2552 KiB
18Hibás válasz0/2101ms2592 KiB
19Hibás válasz0/498ms2604 KiB
20Hibás válasz0/496ms2832 KiB
21Hibás válasz0/494ms2796 KiB
22Hibás válasz0/497ms3388 KiB
23Hibás válasz0/4119ms5936 KiB