Pagini recente » Cod sursa (job #3222466) | Cod sursa (job #1924792) | Cod sursa (job #2454760) | Cod sursa (job #2545864) | Cod sursa (job #1888502)
#include <bits/stdc++.h>
using namespace std;
ifstream f("sdo.in");
ofstream g("sdo.out");
int n,k,a[4000010],i;
int part(int st, int dr)
{
int j,p;
j=st-1; p=a[dr];
for(i=st;i<=dr;i++)
if(a[i]<=p) swap(a[++j], a[i]);
return j;
}
void load()
{
f>>n>>k;
for(i=1;i<=n;i++)
f>>a[i];
}
void qsort(int st, int dr)
{
int poz;
poz=part(st,dr);
if(st<poz-1) qsort(st,poz-1);
if(poz+1<dr) qsort(poz+1,dr);
}
int main()
{
load();
if(k==part(1,n)) g<<a[k];
if(k<part(1,n)) qsort(1, part(1,n)-1);
else qsort(part(1,n)+1, n);
g<<a[k];
return 0;
}