Cod sursa(job #2292838)

Utilizator miruna1224Floroiu Miruna miruna1224 Data 30 noiembrie 2018 01:26:19
Problema Statistici de ordine Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.95 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <time.h>

using namespace std;


long long partitie( long long *v, long long st, long long dr)
{
    long long p = v[dr], i, j, aux;

    i = st-1;
    for ( j = st; j < dr ; j++)
    {
        if ( v[j] <= p )
        {
            i++;
            swap ( v[i], v[j]);
        }
    }
    swap (v[i+1],v[dr]);

    return (i+1);
}

void quickSort ( long long *v, long long st, long long dr)
{
    if( st >= dr)
        return;

    long long p = partitie ( v, st ,dr);
    quickSort(v, st, p-1);
    quickSort(v, p+1, dr);
}

int main()
{
    ifstream in ( "sdo.in");
    ofstream out ("sdo.out");

    long long n, i, k, *v;

    in >> n >> k;
    v = new long long [n+1];
    for ( i =0 ; i< n ; i++)
        in >> v[i];

	srand(time(NULL));

    quickSort (v, 0, n-1);

    out << v[k-1];

    in.close();
    out.close();

    return 0;
}