Cod sursa(job #382959)

Utilizator MKLOLDragos Ristache MKLOL Data 15 ianuarie 2010 09:00:09
Problema Statistici de ordine Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include<fstream.h>
int v[3000010],N,K;
void qsort (int st,int dr)
{
    int i=st,j=dr,piv=v[(st+dr)/2],aux;
    do
    {
        while (v[i]<piv)
            ++i;
        while (v[j]>piv)
            --j;
        if (i<=j)
        {
            aux=v[i];
            v[i]=v[j];
            v[j]=aux;
            ++i;
            --j;
        }
    }
    while (i<=j);

    if (st<=K&&K<=j)
        qsort(st,j);
    else if (i<=K&&K<=dr)
        qsort(i,dr);

}
int main()
{
ifstream fin("sdo.in");
ofstream fout("sdo.out");
    fin>>N>>K;
    for(int i=1;i<=N;++i)
        scanf("%d",&v[i]);
    qsort(1,N);
    fout<<v[K];
}