Pagini recente » Cod sursa (job #912707) | Cod sursa (job #803360) | Cod sursa (job #817193)
Cod sursa(job #817193)
#include<fstream>
using namespace std;
ifstream in("sdo.in");
ofstream out("sdo.out");
int poz;
int v[3000001];
void swap(int &a,int &b)
{
int aux;
aux=a;
a=b;
b=aux;
}
int partitie(int st,int dr)
{
int i,j;
for(i=j=st;i<dr;i++)
if(v[i]<v[dr])
swap(v[i],v[j++]);
swap(v[j],v[dr]);
return j;
}
void qs(int st, int dr)
{
if(st>=dr)
return;
int p=partitie(st,dr);
if(poz<p) qs(st,p-1);
if(poz>p) qs(p+1,dr);
}
int main()
{
int n,i;
in>>n>>poz;
for(i=1;i<=n;i++)
in>>v[i];
qs(1,n);
out<<v[poz];
return 0;
}