Cod sursa(job #1044702)

Utilizator Catalina_BrinzaBrinza Catalina Catalina_Brinza Data 30 noiembrie 2013 11:37:30
Problema Statistici de ordine Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb

#include  <fstream>
#include <stdlib.h>
int k,a[3000000];
using namespace std;
ifstream h("sdo.in");
ofstream g("sdo.out");

void quicksort(int f,int n)
{int i=f,j=n,aux,p;
    p=a[i+rand()%(j-i+1)];
    while (i<=j)
    {
        while (a[i]<p)
            i++;
        while (a[j]>p)
            j--;
        if (i<=j)
        {
            aux=a[i];
            a[i]=a[j];
            a[j]=aux;
            i++;
            j--;
        }
    }
    if (k<=j)
        quicksort(i,j);
    else if(k>=i) quicksort(i,n);
}



int main()
{int n,i;
    h>>n>>k;
    for (i=1;i<=n;i++) h>>a[i];
    quicksort(1,n);
    g<<a[k];
    h.close();
    g.close();
    return 0;
}