Cod sursa(job #1333799)

Utilizator andrei_bB. Andrei andrei_b Data 3 februarie 2015 16:22:07
Problema Statistici de ordine Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>

using namespace std;

int v[100];

void quick(int a , int b){

    if ( b <= a ) return;

    int c=(b+a)/2;

    v[c]=v[b]^v[c]^(v[b]=v[c]);
    int i=a,j=b-1;
    while ( i <= j ){
        if ( v[i] <= v[b] ){ i++; continue; }
        if ( v[j] > v[b] ) { j--; continue; }
        v[i]=v[j]^v[i]^(v[j]=v[i]);
        ++i;
        --j;
    }
    v[i]=v[b]^v[i]^(v[b]=v[i]);
    quick(a,i-1);
    quick(i+1,b);


}

int main()
{
    int n,i,x;
    cin>>n;
    cin>>x;
    for ( i=1 ; i<=n ; i++ ){
        cin>>v[i];
    }
    quick(1, n);
    cout<<v[x];

    return 0;
}