Cod sursa(job #385876)

Utilizator PavelRazvanPavel Razvan PavelRazvan Data 23 ianuarie 2010 18:13:08
Problema Statistici de ordine Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include<stdio.h>
#include<stdlib.h>
int a[3000005],k,n;
void qsort (int st,int dr)
{
    int i=st,j=dr,piv=a[(st+dr)/2],aux;
    do
    {
        while(a[i]<piv)
            ++i;
        while(piv<a[j])
            --j;
        if(i<=j)
        {
            aux=a[i];
            a[i]=a[j];
            a[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 ()
{
    freopen("sdo.in","r",stdin);
    freopen("sdo.out","w",stdout);
    int i;
    scanf("%d%d",&n,&k);
    for(i=1;i<=n;++i)
        scanf("%d",&a[i]);
    qsort (1,n);
    printf("%d",a[k]);
    return 0;
}