Pagini recente » Cod sursa (job #1253183) | Istoria paginii runda/test12321321/clasament | Clasament preONI 2007, Runda 4, Clasa a 9-a si gimnaziu | Cod sursa (job #1157970) | Cod sursa (job #2437141)
#include<cstdlib>
#include<ctime>
#include<fstream>
using namespace std;
#define maxn 3000005
int v[maxn],n,k;
ifstream cin("sdo.in");
ofstream cout("sdo.out");
int quicksort(int inf, int sup){
int x,aux,i,j;
i=inf;
j=sup;
x=v[inf+(rand()%(sup-inf+1))];
while(i<=j){
while(i<sup && v[i]<x) i++;
while(j>inf && v[j]>x) j--;
if(i<=j){
aux=v[i];
v[i]=v[j];
v[j]=aux;
i++; j--;
}
}
return j;
};
void part(int li,int lf,int k){
if(li==lf)
return;
int q=quicksort(li,lf);
int t=q-li+1;
if(t>=k)
part(li,q,k);
else
part(q+1,lf,k-t);
}
int main()
{
srand(time(NULL));
cin>>n>>k;
for(int i=1; i<=n; i++)
cin>>v[i];
part(1,n,k);
cout<<v[k];
return 0;
}