Pagini recente » Cod sursa (job #2220042) | Cod sursa (job #1646353) | Cod sursa (job #3221057) | Cod sursa (job #2944263) | Cod sursa (job #1315224)
#include <iostream>
#include<fstream>
#include<cstdlib>
using namespace std;
ifstream f("sdo.in");
ofstream g("sdo.out");
int i,j,y,p,x,n,v[3000001],k;
int quick(int v[],int l,int r,int k)
{
i=l;j=r;p=v[l+rand()%(r-l+1)];
while(i<=j)
{
while(v[i]<p) i++;
while(v[j]>p) j--;
if(i<=j)
{
x=v[i];
v[i]=v[j];
v[j]=x;
i++;
j--;
}
}
y=j-l+1;
if(l<r)
{if(y>=k) return quick(v,l,j,k);
else return quick(v,j+1,r,k-y);}
}
int main()
{
f>>n>>k;
for(i=1;i<=n;i++)
f>>v[i];
quick(v,1,n,k);
g<<v[k];
return 0;
}