Pagini recente » Cod sursa (job #3363973) | Cod sursa (job #3364081) | Cod sursa (job #3364084) | Cod sursa (job #1422341) | Cod sursa (job #3364062)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("sdo.in");
ofstream g("sdo.out");
int v[3000001],k;
int poz(int st, int dr)
{
int m=(st+dr)/2;
int aux=v[st];
v[st]=v[m];
v[m]=aux;
int i=st,j=dr,d=0;
while(i<j)
{
if(v[i]>v[j])
{
aux=v[i];
v[i]=v[j];
v[j]=aux;
d=1-d;
}
i+=d;
j-=(1-d);
}
if(i==k)return v[i];
if(i<k)return poz(i+1,dr);
return poz(st,i-1);
}
int main()
{
int n;
f>>n>>k;
for(int i=1;i<=n;i++)f>>v[i];
g<<poz(1,n)<<'\n';
}