Cod sursa(job #1345770)

Utilizator alexandra_udristoiuUdristoiu Alexandra Maria alexandra_udristoiu Data 17 februarie 2015 20:58:03
Problema Statistici de ordine Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<fstream>
using namespace std;
int n, k, i, p;
int v[3000001];
void poz(int st, int dr, int k){
	int ii = 0, jj = -1, i = st, j = dr, aux;
	while(i < j){
		if(v[j] < v[i]){
			aux = v[i];
			v[i] = v[j];
			v[j] = aux;
			aux = ii;
			ii = -jj;
			jj = -aux;
		}
		i += ii;
		j += jj;
	}
	if(i == k){
		p = k;
	}
	else{
		if(i < k){
			poz(i + 1, dr, k);
		}
		else{
			poz(st, i - 1, k);
		}
	}
}
ifstream fin("sdo.in");
ofstream fout("sdo.out");
int main(){
	fin>> n >> k;
	for(i = 1; i <= n; i++){
		fin>> v[i];
	}
	poz(1, n, k);
	fout<< v[p];
	return 0;
}