Cod sursa(job #1018934)

Utilizator leontinLeontin leontin Data 30 octombrie 2013 10:03:12
Problema Statistici de ordine Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include<iostream>
#include<stdlib.h>
#include<fstream>

using namespace std;

ifstream f("sdo.in");
	ofstream g("sdo.out");


long arr[3000001],n,k;

void quickSort( long left, long right)
 {
  long i = left, j = right;
  long tmp;
  long pivot = arr[left + rand() % ( right - left + 1 )];
  while (i <= j) {
        while (arr[i] < pivot)
              i++;
        while (arr[j] > pivot)
              j--;
        if (i <= j) {
              tmp = arr[i];
              arr[i] = arr[j];
              arr[j] = tmp;
              i++;
              j--;
    }
}
if (k<=j)
    quickSort( left, j);
else
        quickSort( i, right);
}
int main()
{
	
	long i;
	f>>n>>k;
	for(i=1;i<=n;i++)
		f>>arr[i];
	quickSort(1,n);
	g<<arr[k];
	f.close();
	g.close();
	return 0;
}