Cod sursa(job #1731426)

Utilizator serbanmaria15Serban Maria-Catalina serbanmaria15 Data 18 iulie 2016 22:22:11
Problema Statistici de ordine Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include<stdio.h>
#define N_MAX 3000001
int v[N_MAX];

void quicksort(int v[], int primElement, int ultimElement)
{
	int i=primElement;
	int j=ultimElement;
	int aux;
	int pivot = v[(i+j)/2];
	do
	{
		while( (i < ultimElement) && ( v[i] < pivot)) i++;
		while( (j > primElement) && ( v[j] > pivot)) j--;
		if ( i<=j )
		{
			aux=v[i];
			v[i]=v[j];
			v[j]=aux;
			i++;
			j--;
		}
	}while(i<=j);
	if( primElement < j) quicksort( v, primElement, j);
	if( i < ultimElement) quicksort(v, i, ultimElement);

}

int main()
{
	FILE *inputFile, *outputFile;
	inputFile=fopen("sdo.in", "r");
	outputFile=fopen("sdo.out", "w");

	int n, k,i;
	fscanf(inputFile, "%d %d", &n, &k);
	for(i=1; i<=n; i++)
	{
		fscanf(inputFile, "%d", &v[i]);
	}

	quicksort(v, 1, n);
	fprintf(outputFile,"%d",v[k]);

	return 0;
}