Cod sursa(job #377665)

Utilizator GotenAmza Catalin Goten Data 25 decembrie 2009 19:32:39
Problema Statistici de ordine Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<fstream.h>

long a[3000009],n,k;

void ex(long i,long j)
{
 long aux=a[i];
 a[i]=a[j];
 a[j]=aux;
 }

void qs(long i,long j)
{
 long s=i,d=j,piv=a[(i+j)>>1];
 while(s<=d)
 {
  while(a[s]<piv)s++;
  while(a[d]>piv)d--;
  if(s<=d)
  {
  ex(s,d);
  s++;
  d--;
  }
  }
 if(i<d&&k<=d) qs(i,d);
 if(s<j&&s<=k) qs(s,j);
 }

int main()
{ 
 long i;
 ifstream f("sdo.in");
 ofstream g("sdo.out");
 f>>n>>k;
 for(i=1;i<=n;i++)
	 f>>a[i];
 qs(1,n);
 g<<a[k];
 return 0;
 }