Cod sursa(job #1246621)

Utilizator RaileanuCristian Raileanu Raileanu Data 21 octombrie 2014 13:32:49
Problema Statistici de ordine Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include<fstream>

using namespace std;
ifstream f1("sdo.in");
ofstream f2("sdo.out");
#define MX 3000000
int n, a[MX],k,i ;

void quickp(int st, int dr)
{
     int x=a[st], i=st, j=dr,t;
     while (i<=j )
     { while (i<dr && a[i]<x ) i++;
       while (j>st && a[j]>x ) j--;
       if (i<=j)
          { t=a[j];
            a[j]=a[i];
            a[i]=t; 
            i++;j--;}
           }
     if (st<j && k<=j )
        quickp(st,j);
     if (i<dr && k>j) 
        quickp(i,dr);
 }

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