Cod sursa(job #3364062)

Utilizator alexm749Musat Alexandru Nicolae alexm749 Data 28 august 2026 20:04:20
Problema Statistici de ordine Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("sdo.in");

ofstream g("sdo.out");

int v[3000001],k;

int poz(int st, int dr)
{
		int m=(st+dr)/2;
		int aux=v[st];
		v[st]=v[m];
		v[m]=aux;
		int i=st,j=dr,d=0;
		while(i<j)
		{
			if(v[i]>v[j])
			{
				aux=v[i];
				v[i]=v[j];
				v[j]=aux;
				d=1-d;
			}
			i+=d;
			j-=(1-d);
		}
		if(i==k)return v[i];
		if(i<k)return poz(i+1,dr);
		return poz(st,i-1);
}

int main()
{
	int n;
	f>>n>>k;
	for(int i=1;i<=n;i++)f>>v[i];
	g<<poz(1,n)<<'\n';
}