Cod sursa(job #1333800)

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

using namespace std;

int v[100];

ifstream fin("sdo.in");
ofstream fout("sdo.out");

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;
    fin>>n;
    fin>>x;
    for ( i=1 ; i<=n ; i++ ){
        cin>>v[i];
    }
    quick(1, n);
    fout<<v[x];

    return 0;
}