Pagini recente » Cod sursa (job #690292) | Cod sursa (job #2162151) | Cod sursa (job #472363) | Cod sursa (job #887437) | Cod sursa (job #2066462)
#include<fstream>
#include<cstdlib>
using namespace std;
ifstream f("sdo.in");
ofstream g("sdo.out");
int k, v[3000001];
int hoare(int a[],int p,int r)
{
int pivot= a[p+(rand()%(r-p+1))],i,j;
i=p-1;
j=r+1;
while(true){
do{
++i;
}while(a[i]<pivot);
do{
--j;
}while(a[j]>pivot);
if(i>=j)return j;
int aux=a[i];
a[i]=a[j];
a[j]=aux;
}
}
void quicksort(int a[],int p,int r){
if(p<r){
int q=hoare(a,p,r);
if(q!=k){
if(q>k)quicksort(a,p,q);
else quicksort(a,q+1,r);}
}
}
int main()
{
int i,n;
f>>n>>k;
for(i=1;i<=n;i++)
f>>v[i];
quicksort(v,1,n);
g<<v[k];
return 0;
}