Pagini recente » Cod sursa (job #582791) | Cod sursa (job #1184794)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("sdo.in");
ofstream out("sdo.out");
int v[3000000],aux[3000000];
void schimb(int &a,int &b)
{
int aux;
aux=a;
a=b;
b=aux;
}
int partitie(int st,int dr)
{
int i,j;
j=st;
for(i=st;i<dr;i++)
{
if(v[i]<v[dr])
schimb(v[j++],v[i]);
}
schimb(v[j],v[dr]);
return j;
}
void qsort(int st,int dr,int poz)
{
if(st>=dr)
return;
int p=partitie(st,dr);
if(poz<p)
qsort(st,p-1,poz);
if(poz>p)
qsort(p+1,dr,poz);
}
int main()
{
int n,k,i;
in>>n>>k;
for(i=1;i<=n;i++)
{
in>>v[i];
}
qsort(1,n,k);
/* for(i=1;i<=n;i++)
{
out<<v[i]<<" ";
}*/
out<<v[k];
return 0;
}