Cod sursa(job #1076511)

Utilizator BuseSorinFMI Buse Sorin-Marian BuseSorin Data 10 ianuarie 2014 12:25:35
Problema Statistici de ordine Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;

void quicksort(int V[], int inceput, int sfarsit){
	if (sfarsit - inceput > 0){
		int pivot = V[rand() % sfarsit];
		int i = inceput;
		int j = sfarsit;

		while (i <= j){
			while (V[i]<pivot)
			{
				i++;
			}
			while (V[j]>pivot){
				j--;
			}

			if (i <= j){
				swap(V[i], V[j]);
				i++;
				j--;
			}
		}
		quicksort(V, inceput, j);
		quicksort(V, i, sfarsit);
	}
}
int V[3000000];
int main(){
	ifstream f("sdo.in");
	ofstream o("sdo.out");
	int n = 0, k = 0;
	f >> n >> k;
	for (int i = 0; i < n; i++){
		f >> V[i];
	}
	quicksort(V, 0, n-1);
	o << V[k - 1];
	return 0;
}