Pagini recente » Cod sursa (job #1909304) | Cod sursa (job #2117612) | Cod sursa (job #672717) | Cod sursa (job #1343360) | Cod sursa (job #2184096)
#include <fstream>
#include <ctime>
#include <stdlib.h>
#include <iostream>
using namespace std;
ifstream fin("sdo.in");
ofstream fout("sdo.out");
int n, v[3000001], i,p,k;
int rez(int st, int dr)
{
int dst=0, ddr=-1,aux;
while(st!=dr)
{
if(v[st]>v[dr])
{
aux=v[st];
v[st]=v[dr];
v[dr]=aux;
aux=dst;
dst=-ddr;
ddr=-aux;
}
st+=dst;
dr+=ddr;
}
return st;
}
void quicksort(int st, int dr)
{
int p=rez(st, dr);
if(k<=p-1)
quicksort(st, p-1);
else
if(k==p)
{
fout<<v[k];
return;
}
else
quicksort(p+1, dr);
}
int main()
{
fin>>n>>k;
for(i=1;i<=n;i++)
fin>>v[i];
quicksort(1, n);
fin.close();
fout.close();
return 0;
}