Pagini recente » Cod sursa (job #3188758) | Diferente pentru problema/bitconnect intre reviziile 48 si 40 | Cod sursa (job #501457) | Cod sursa (job #3347763) | Cod sursa (job #2399724)
#include <fstream>
#define N 3000001
using namespace std;
int v[N],k,n;
ifstream fin("sdo.in");
ofstream fout("sdo.out");
void Read()
{
fin>>n>>k;
for(int i=1;i<=n;i++)
fin>>v[i];
}
int pivotare(int s,int d)
{
int i,j,aux,pasi=0,pasj=1;
i=s;
j=d;
while(i<j)
{
if(v[i]>v[j])
{
aux=v[i];
v[i]=v[j];
v[j]=aux;
pasi=1-pasi;
pasj=1-pasj;
}
i=i+pasi;
j=j-pasj;
}
return i;
}
void QS(int s,int d)
{
int p=pivotare(s,d);
if(s<d)
{
QS(s,p-1);
QS(p+1,d);
}
}
void Solve()
{
QS(1,n);
fout<<v[k];
}
int main()
{
Read();
Solve();
return 0;
}