Cod sursa(job #1520239)

Utilizator SoniaFlorinaHorchidan Sonia-Florina SoniaFlorina Data 8 noiembrie 2015 15:30:43
Problema Statistici de ordine Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
using namespace std;
int v[3000000], n,k,stg,dr,li,ls,mij,aux;
ifstream in("sdo.in");
ofstream out("sdo.out");

int quick(int li, int ls)
{ int stg=li, dr=ls, x=v[li], aux;
while (stg<dr)
{
    while (stg<dr && v[dr]>x)
       dr--;
    v[stg]=v[dr];
    while(stg<dr && v[stg]<x)
        stg++;
   v[dr]=v[stg];
   v[stg]=x;
   if(k<=dr)
           ls=dr;
     else
        if(k>=stg)
            li=stg;
        else
            li=ls=k;
}
return stg;

}


void sortare(int li, int ls)
{if(li<ls)
    {int m=quick(li,ls);
    if(li<m)
        sortare(li,m-1);
    if(m<ls)
        sortare(m+1,ls);}
}


int main()
{ in>>n>>k;
int i;
for(i=1;i<=n;i++)
    in>>v[i];
sortare(1,n);
out<<v[k];
    return 0;
}