198512025-12-26 08:46:05KristófMekk Mester munkái (50 pont)cpp17Accepted 50/5089ms2272 KiB
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

struct munka
{
int k,v,i;
}typedef munka;

int main()
{
    int n,m;
    cin>>n>>m;
    vector<munka> munkak(n);
    int i=1;
    for(auto &x:munkak){cin>>x.k>>x.v;x.i=i;i++;}
    sort(munkak.begin(),munkak.end(),[](munka a,munka b)
         {
         if(a.v<b.v)return true;
         if(a.v>b.v)return false;
         return a.k>b.k;
         });
    int mesterl=-1;
    int fial=-1;
    vector<int> mester,fia;
    for(i=0;i<n;i++)
        {
        if(mesterl<munkak[i].k && fial<munkak[i].k)
            {
            if(fial>mesterl)
                {
                fia.push_back(munkak[i].i);
                fial=munkak[i].v;
                }
            else
                {
                mester.push_back(munkak[i].i);
                mesterl=munkak[i].v;
                }
            }
        else if(mesterl<munkak[i].k)
            {
            mester.push_back(munkak[i].i);
            mesterl=munkak[i].v;
            }
        else if(fial<munkak[i].k)
            {
            fia.push_back(munkak[i].i);
            fial=munkak[i].v;
            }
        }
    cout<<mester.size()<<" "<<fia.size()<<"\n";
    for(int i: mester)cout<<i<<" ";
    cout<<"\n";
    for(int i: fia)cout<<i<<" ";
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms500 KiB
2Accepted0/08ms316 KiB
3Accepted1/11ms316 KiB
4Accepted1/11ms324 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted2/21ms316 KiB
9Accepted3/31ms336 KiB
10Accepted1/12ms316 KiB
11Accepted1/12ms316 KiB
12Accepted2/21ms316 KiB
13Accepted2/22ms332 KiB
14Accepted2/22ms316 KiB
15Accepted2/22ms316 KiB
16Accepted3/31ms316 KiB
17Accepted2/279ms1592 KiB
18Accepted2/279ms1580 KiB
19Accepted4/479ms1584 KiB
20Accepted4/481ms1748 KiB
21Accepted4/482ms1588 KiB
22Accepted4/482ms1776 KiB
23Accepted4/489ms2272 KiB