Pagini recente » Cod sursa (job #436910) | Cod sursa (job #489732) | Cod sursa (job #242106) | Cod sursa (job #656107) | Cod sursa (job #1021273)
#include <fstream>
#include <iostream>
int v[3000000], n, k;
using namespace std;
void qsm(int s, int d)
{
if(s>d)
return;
int piv=(s+d)/2;
int vp=v[piv];
int i=s, j=d;
while(i<=j)
{
while(v[i]<vp)
i++;
while(v[j]>vp)
j--;
if(i<=j)
{
v[i]=v[i]+v[j];
v[j]=v[i]-v[j];
v[i]=v[i]-v[j];
i++;
j--;
}
}
if(k>j)
qsm(i, d);
else
qsm(s, j);
}
int main(int argc, char *argv[])
{
ifstream fin("sdo.in");
ofstream fout("sdo.out");
fin>>n>>k;
int i;
for(i=0;i<n;i++)
fin>>v[i];
qsm(0, n-1);
fout<<v[k-1];
return EXIT_SUCCESS;
}