Pagini recente » Cod sursa (job #1738900) | Cod sursa (job #1864550) | Cod sursa (job #2077554) | Cod sursa (job #582514) | Cod sursa (job #1568931)
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("sdo.in");
ofstream fout("sdo.out");
int v[3000010],i,n,k;
int partition (int l,int r)
{
int z=l;
swap (v[(l+r)/2],v[r]);
for (int u=l; u<r; u++)
if (v[u]<v[r])
{
swap (v[u],v[z]);
z++;
}
swap (v[z],v[r]);
return z;
}
void qsort (int x,int y)
{
if (x<=y)
{
int np=partition (x,y);
if (np==k)
{
fout<<v[np]<<"\n";
exit(0);
}
if (np<k) qsort (np+1,y);
else qsort (x,np-1);
}
}
int main ()
{
fin>>n>>k;
for (i=1; i<=n; i++)
fin>>v[i];
qsort (1,n);
fin.close ();
fout.close ();
return 0;
}