Pagini recente » Cod sursa (job #1287078) | Cod sursa (job #1185388) | Cod sursa (job #2176537) | Cod sursa (job #1124262) | Cod sursa (job #1044873)
#include <iostream>
#include<fstream>
#include<cstdlib>
#define Nmax 3000002
using namespace std;
ifstream f("sdo.in");
ofstream f2("sdo.out");
int k,n,v[Nmax],i;
void quicksort(int v[],int left,int right,int k)
{int i,j,p;
i=left;
j=right;
p=v[rand()%(i+j)];
while(i<=j)
{
while(v[i]<p)
i++;
while(v[j]>p)
j--;
if(i<=j)
{
v[i]=v[i]+v[j];
v[j]=v[i]-v[j];
v[i]=v[i]-v[j];
i++;j--;
}
}
if(p==v[k]&&k>i&&k<j)
return;
if(j>left)
quicksort(v,left,j,k);
if(i<right)
quicksort(v,i,right,k);
}
int main()
{f>>n>>k;
for(i=1;i<=n;i++)
f>>v[i];
quicksort(v,0,n,k);
f2<<v[k];
f.close();
f2.close();
return 0;
}