Pagini recente » Cod sursa (job #935975) | Cod sursa (job #1991197) | Cod sursa (job #2284786) | Cod sursa (job #2151777) | Cod sursa (job #1557182)
#include <fstream>
using namespace std;
ifstream fin; ofstream fout;
int a[3000002],i,n,k;
inline int partition (int l,int r)
{
int z=l;
swap (a[(l+r)/2],a[r]);
for (int u=l; u<r; u++)
if (a[u]<a[r])
{
swap (a[u],a[z]);
z++;
}
swap (a[z],a[r]);
return z;
}
void qsort (int x,int y)
{
if (x<=y)
{
int np=partition (x,y);
if (np==k)
{
fout<<a[np]<<"\n";
exit(0);
}
if (np<k) qsort (np+1,y);
else qsort (x,np-1);
}
}
int main () {
fin.open ("sdo.in");
fout.open ("sdo.out");
fin>>n>>k;
for (i=1; i<=n; i++)
fin>>a[i];
qsort (1,n);
fin.close ();
fout.close ();
return 0;
}