138912025-01-09 08:55:52BencuMekk Mester munkái (50 pont)cpp17Hibás válasz 7/5090ms2100 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) {
        while ( (a[i].x-h1)>0) {
            M1[m1]=a[i].sorsz;
            m1++;
            h1=a[i].y;
            i++;
        }
        if ((a[i].x-h2)>0) {
            M2[m2]=a[i].sorsz;
            m2++;
            h2=a[i].y;
        }
        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
base7/50
1Elfogadva0/01ms316 KiB
2Hibás válasz0/08ms316 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva1/11ms316 KiB
5Hibás válasz0/21ms316 KiB
6Hibás válasz0/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Hibás válasz0/21ms316 KiB
9Elfogadva3/31ms396 KiB
10Hibás válasz0/12ms408 KiB
11Hibás válasz0/12ms316 KiB
12Hibás válasz0/22ms316 KiB
13Hibás válasz0/22ms316 KiB
14Hibás válasz0/22ms316 KiB
15Hibás válasz0/22ms316 KiB
16Hibás válasz0/32ms500 KiB
17Hibás válasz0/281ms1344 KiB
18Hibás válasz0/281ms1456 KiB
19Hibás válasz0/481ms1344 KiB
20Hibás válasz0/481ms1380 KiB
21Hibás válasz0/482ms1588 KiB
22Hibás válasz0/483ms1700 KiB
23Hibás válasz0/490ms2100 KiB