142972025-01-10 12:04:50KissCsongor777Mekk Mester munkái (50 pont)cpp17Wrong answer 0/50120ms5940 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;
}
SubtaskSumTestVerdictTimeMemory
base0/50
1Accepted0/01ms316 KiB
2Wrong answer0/08ms564 KiB
3Wrong answer0/12ms1076 KiB
4Wrong answer0/12ms1076 KiB
5Wrong answer0/22ms1076 KiB
6Wrong answer0/22ms1092 KiB
7Wrong answer0/22ms948 KiB
8Wrong answer0/22ms1088 KiB
9Wrong answer0/31ms316 KiB
10Wrong answer0/14ms1076 KiB
11Wrong answer0/13ms1076 KiB
12Wrong answer0/23ms1076 KiB
13Wrong answer0/23ms1076 KiB
14Wrong answer0/23ms1192 KiB
15Wrong answer0/23ms1192 KiB
16Wrong answer0/32ms316 KiB
17Wrong answer0/2103ms2636 KiB
18Wrong answer0/2101ms2564 KiB
19Wrong answer0/498ms2776 KiB
20Wrong answer0/496ms2776 KiB
21Wrong answer0/496ms2956 KiB
22Wrong answer0/498ms3368 KiB
23Wrong answer0/4120ms5940 KiB