Pagini recente » Cod sursa (job #991899) | Cod sursa (job #1399951) | Cod sursa (job #2769533) | Cod sursa (job #30679) | Cod sursa (job #1615042)
#include <fstream>
using namespace std;
ifstream in("statisticiordine.in");
ofstream out("statisticiordine.out");
unsigned int v[4000001];
int k;
void pivotare(unsigned int v[],int st,int dr,int &p, int &u)
{
int i;
p=st; u=dr-1; i=st;
while(i<=u){
if(v[i]<v[dr])
swap(v[i++],v[p++]);
else
if(v[i]>v[dr])
swap(v[i],v[u--]);
else
i++;
}
swap(v[dr],v[++u]);
}
void qsort(unsigned int v[],int st,int dr)
{
if(st>=dr)
return;
int p,u;
pivotare(v,st,dr,p,u);
if(k<p)
qsort(v,st,p-1);
if(k>u)
qsort(v,u+1,dr);
}
int main()
{
int n,i;
in>>n>>k;
for(i=1;i<=n;i++)
in>>v[i];
qsort(v,1,n);
out<<v[k];
return 0;
}