138932025-01-09 09:04:06BencuMekk Mester munkái (50 pont)cpp17Hibás válasz 0/5081ms1732 KiB
#include <bits/stdc++.h>

using namespace std;
int n,h,m1=1,m2=1,M1[100001],M2[100001],h1=1,h2=1;
struct rendel {
    int x;
    int y;
    int sorsz;
}a[100001];
int helyre(int elso, int utolso) {
    int i=elso,j=utolso,p=elso;
    while (i<j) {
        if(a[i].y>a[j].y) {
            swap(a[i],a[j]);
            if(i==p) {
                p=j;
                i++;
            }
            else {
                p=i;
                j--;
            }
        }
        else if(p==i) j--;
            else i++;
    }
    return p;
}
void QuickSort(int elso,int utolso) {
    if (elso<utolso) {
        int k=helyre(elso,utolso);
        QuickSort(elso,k-1);
        QuickSort(k+1,utolso);
    }
}
void be() {
    ifstream f("be.in");
    cin>>n>>h;
    for (int i=1; i<=n; i++) {
        cin>>a[i].x>>a[i].y;
        a[i].sorsz=i;
    }
    /*for (int i=1; i<=n; i++) {
        for (int j=i+1; j<=n; j++) {
            if (a[i].y>a[j].y) swap(a[i],a[j]);
            //if (a[i].y==a[j].y && a[i].x>a[j].x) swap(a[i],a[j]);
        }
    }*/
    for (int i=1; i<n; i++) {
        if(a[i].y==a[i+1].y && a[i].x>a[i+1].x) swap(a[i],a[i+1]);
    }
    QuickSort(1,n);
    //int ma=a[n].y;
}

int main()
{
    be();
    int i=1;
    M2[0]=a[i].sorsz;
    //cout<<M1[0]<<endl;
    h2=a[i].y;
    i++;
    M1[0]=a[i].sorsz;
    h1=a[i].y;
    //cout<<M2[0]<<endl;
    i++;
    while (i<=n) {
        if (h1>h2 && (a[i].x-h1)>0) {
            M1[m1]=a[i].sorsz;
            m1++;
            h1=a[i].y;
        }
        else if ((a[i].x-h2)>0) {
            M2[m2]=a[i].sorsz;
            m2++;
            h2=a[i].y;
            i++;
        }
        i++;
    }
    cout<<m1<<" "<<m2<<endl;
    for (int i=0; i<m1; i++) cout<<M1[i]<<" ";
    cout<<endl;
    for (int i=0; i<m2; i++) cout<<M2[i]<<" ";
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Elfogadva0/01ms316 KiB
2Hibás válasz0/08ms316 KiB
3Hibás válasz0/11ms512 KiB
4Hibás válasz0/11ms316 KiB
5Hibás válasz0/21ms316 KiB
6Hibás válasz0/21ms316 KiB
7Hibás válasz0/21ms316 KiB
8Hibás válasz0/21ms316 KiB
9Hibás válasz0/31ms316 KiB
10Hibás válasz0/12ms384 KiB
11Hibás válasz0/12ms316 KiB
12Hibás válasz0/22ms316 KiB
13Hibás válasz0/22ms500 KiB
14Hibás válasz0/22ms408 KiB
15Hibás válasz0/22ms384 KiB
16Hibás válasz0/31ms316 KiB
17Hibás válasz0/276ms1560 KiB
18Hibás válasz0/276ms1576 KiB
19Hibás válasz0/476ms1560 KiB
20Hibás válasz0/478ms1528 KiB
21Hibás válasz0/478ms1588 KiB
22Hibás válasz0/481ms1592 KiB
23Hibás válasz0/481ms1732 KiB