Pagini recente » Cod sursa (job #3264656) | Cod sursa (job #1813144) | Cod sursa (job #937082) | Cod sursa (job #2357260) | Cod sursa (job #1673839)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("sdo.in");
ofstream g ("sdo.out");
int a[3000001],n,i,k;
int part (int st,int dr)
{
int p,j,i;
p=a[dr];j=st-1;
for(i=st;i<=dr;i++)
if(a[i]<=p)
swap(a[++j],a[i]);
return j;
}
void quick (int st,int dr )
{
int poz;
poz=part(st,dr);
if(poz!=k)
{
if(poz-st>1)
quick(st,poz-1);
if(dr-poz>1)
quick(poz+1,dr);
}
}
int main()
{ f>>n>>k;
for(i=1;i<=n;i++)
f>>a[i];
quick(1,n);
g<<a[k]<<" ";
return 0;
}