Pagini recente » Cod sursa (job #1980885) | Cod sursa (job #235383) | Cod sursa (job #1489815) | Cod sursa (job #2860266) | Cod sursa (job #2639914)
#include <bits/stdc++.h>
using namespace std;
ifstream f("sdo.in");
ofstream g("sdo.out");
const int N = 3000010;
int n,k,x[N];
void sorteazaPartial(int,int);
int main()
{
f>>n>>k;
for(int i=1;i<=n;i++)
f>>x[i];
sorteazaPartial(1,n);
g<<x[k];
return 0;
}
void sorteazaPartial(int lo,int hi)
{
if(lo>=hi)
return;
int st=lo;
int dr=hi;
int mi=(lo+hi)/2;
int pivot = x[mi];
do
{
while(x[st]<pivot)
st++;
while(x[dr]>pivot)
dr--;
if(st<=dr)
{
swap(x[st],x[dr]);
st++;
dr--;
}
}
while(st<=dr);
if(k<=dr)sorteazaPartial(lo,dr);
if(k>=st)sorteazaPartial(st,hi);
}