Pagini recente » Cod sursa (job #135499) | Cod sursa (job #2495634) | Cod sursa (job #1903794) | Cod sursa (job #1866926) | Cod sursa (job #2857525)
#include <bits/stdc++.h>
using namespace std;
FILE* si=fopen("sdo.in","r");
FILE* so=fopen("sdo.out","w");
const int nmax=3000003;
int n,k, pst,pdr;
int v[nmax];
int cop[nmax];
int sdo(int st, int dr, int a)
{
if(st>=dr) return v[st];
pst=st,pdr=dr;
int targ;
for(int i=st; i<=dr; i++)
{
if(v[i]<v[st]) cop[pst++]=v[i];
if(v[i]>v[st]) cop[pdr--]=v[i];
}
cop[pst]=v[st];
for(int i=st; i<=dr; i++) v[i]=cop[i];
if(pst<a-1) return sdo(pst+1,dr,a);
return sdo(st,pst,a);
}
int main()
{
fscanf(si,"%d%d",&n,&k);
for(int i=0; i<n; ++i) fscanf(si,"%d",&v[i]);
fprintf(so,"%d",sdo(0,n-1,k));
return 0;
}