142652025-01-10 11:08:40KissCsongor777Mekk Mester munkái (50 pont)cpp17Forditási hiba
#include <iostream>
#include <algorithm>
#include <set>
#include <bits/stdc++.h>
using namespace std;

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

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);}
           else 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);}
       }
       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;
}
Forditási hiba
open /var/local/lib/isolate/407/box/a.out: no such file or directory
main.cpp:12:1: error: ISO C++ forbids declaration of 'f' with no type [-fpermissive]
   12 | f(megrendeles x, megrendeles y)
      | ^
In file included from /usr/include/c++/12/string:50,
                 from /usr/include/c++/12/bits/locale_classes.h:40,
                 from /usr/include/c++/12/bits/ios_base.h:41,
                 from /usr/include/c++/12/ios:42,
                 from /usr/include/c++/12/ostream:38,
                 from /usr/include/c++/12/iostream:39,
                 from main.cpp:1:
/usr/include/c++/12/bits/stl_algobase.h: In instantiation of 'typename __gnu_cxx::__enable_if<std::__is_scalar<_Tp>::__value, void>::__type std::__fill_a1(_ForwardIterator, _ForwardIterator, const _Tp&) [with _ForwardIterator = int; _Tp = int; typename __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, void>::__type = void]':
/usr/include/c++/12/bits/stl_algobase.h:968:21:   required from 'void std::__fill_a(_FIte, _FIte, const _Tp&) [with _FIte = int; _Tp = int]'
/usr/include/c++/12/bits/stl_algobase.h:998:20:   required from 'void std::fill(_ForwardIterator, _ForwardIterator, const _Tp&) [with _ForwardIterator = int; _Tp = int]'
main.cpp:39:43:   required from here
/usr/include/c++/12/bits/stl_algobase.h:922:9: error: invalid type argument of unary '*' (have 'int')
  922 |         *__first = __tmp;
      |         ^~~~~~~~