248292026-02-15 22:18:57999Mekk Mester munkái (50 pont)cpp17Accepted 50/5087ms3580 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
#define int long long
using namespace std;

signed main() {
    int n,h;cin>>n>>h;
    vector<array<int,3>> v(n);
    for(int i = 0;i<n;i++){
        cin>>v[i][1]>>v[i][0];
        v[i][2]=i+1;
    }
    sort(v.begin(),v.end());
    /*for(int i = 0;i<n;i++){
        cout<<v[i][0]<<' '<<v[i][1]<<' '<<v[i][2]<<endl;
    }*/
    vector<int> ansf,ansa;
    int fiuel=0,apael=0,ans=0;
    for(int i = 0;i<n;i++){
        if(fiuel<v[i][1]&&apael<v[i][1]){
            if(fiuel>apael){
                ansf.push_back(v[i][2]);
                fiuel=v[i][0];
            }
            else{
                ansa.push_back(v[i][2]);
                apael=v[i][0];
            }
        }
        else if(fiuel<v[i][1]){
            ansf.push_back(v[i][2]);
            fiuel=v[i][0];
        }
        else if(apael<v[i][1]){
            ansa.push_back(v[i][2]);
            apael=v[i][0];
        }
    }
    cout<<ansf.size()<<' '<<ansa.size()<<endl;
    for(int i : ansf)cout<<i<<' ';
    cout<<endl;
    for(int i : ansa)cout<<i<<' ';
    cout<<endl;

}
/*
rossz:
4 9
1 4
2 6
5 9
7 8
=> az csinalja aki kesobbig dolgozik ha mindketto tudna
*/
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms508 KiB
2Accepted0/08ms652 KiB
3Accepted1/11ms316 KiB
4Accepted1/11ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted2/21ms316 KiB
9Accepted3/31ms500 KiB
10Accepted1/12ms548 KiB
11Accepted1/12ms316 KiB
12Accepted2/22ms396 KiB
13Accepted2/22ms420 KiB
14Accepted2/22ms316 KiB
15Accepted2/22ms316 KiB
16Accepted3/32ms384 KiB
17Accepted2/281ms2628 KiB
18Accepted2/281ms2756 KiB
19Accepted4/481ms2752 KiB
20Accepted4/482ms2760 KiB
21Accepted4/482ms2880 KiB
22Accepted4/482ms3256 KiB
23Accepted4/487ms3580 KiB