Cod sursa(job #1027473)

Utilizator RaduStefanFMI - Radu Stefan RaduStefan Data 12 noiembrie 2013 20:05:03
Problema Statistici de ordine Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include<fstream>
using namespace std;
int a[3000001];
ifstream fcin("sdo.in");
ofstream fcout("sdo.out");



void quickSort(int a[], int left, int right,int k) 
{
	int i = left, j = right;
	int tmp,x;
	int pivot = a[(left+right)/2];
	while (i <= j)
	{
		while (a[i] < pivot)
			i++;
		while (a[j] > pivot)
			j--;
		if (i <= j) 
		{
			tmp = a[i];
			a[i] = a[j];
			a[j] = tmp;
			i++;
			j--;
		}
	}
	x=i-1;
	if(k==x)
	{
		fcout<<a[k];
	}
	if (left < j && k<x)
		quickSort(a, left, j,k);
	if (i < right && k>x)
		quickSort(a, i, right,k);
}
int main()
{
	int n,i,k;
	fcin>>n>>k;
	for(i=1;i<=n;i++)
		fcin>>a[i];
	quickSort(a,1,n,k);
	//for(i=1;i<=n;i++)
	//	fcout<<a[i]<<" ";
	return 0;
}