Cod sursa(job #1060510)

Utilizator nguyen1995Van Tu Nguyen nguyen1995 Data 18 decembrie 2013 01:15:38
Problema Statistici de ordine Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include<fstream>
using namespace std;
long v[30000001],n;
ifstream f("sdo.in");
ofstream g("sdo.out");
void schimb(long &a,long &b)
{
    long aux=a;
    a=b;
    b=aux;
}
void divizeaza(long s,long d,long &m)
{
    long i=s,j=d,pi=0,pj=1;
    while(i<j)
    {
        if(v[i]>v[j])
        {
            schimb(v[i],v[j]);
            schimb(pi,pj);
        }
        i=i+pi;
        j=j-pj;
    }
    m=i;
}
void quicksort(long s,long d)
{
    long m;
    if(s<d)
    {
        divizeaza(s,d,m);
        quicksort(s,m-1);
        quicksort(m+1,d);
    }
}
int main()
{
    long i,k;
    f>>n>>k;
    for(i=1;i<=n;i++)
        f>>v[i];
    quicksort(1,n);
    g<<v[k];
    return 0;
}