Pagini recente » Cod sursa (job #953413) | Cod sursa (job #1098315) | Cod sursa (job #867593) | Cod sursa (job #16399) | Cod sursa (job #2670552)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sdo.in");
ofstream fout("sdo.out");
int a[3000005],n,k;
int Pivot(int st,int dr)
{
int i,j,piv;
j=(st+dr)/2;
swap(a[j],a[st]);
piv=a[st];
j=st;
for(i=st+1;i<=dr;i++)
if(a[i]<=piv)
{
j++;
swap(a[i],a[j]);
}
swap(a[st],a[j]);
return j;
}
void QSort(int st,int dr)
{
int p=Pivot(st,dr);
if(st<p-1)QSort(st,p-1);
if(dr>p+1)QSort(p+1,dr);
}
int Cauta(int st,int dr)
{
int p=Pivot(st,dr);
if(p==k)return a[p];
if(p<k)return Cauta(p+1,dr);
return Cauta(st,p-1);
}
void Citire()
{
int i;
fin>>n>>k;
for(i=1;i<=n;i++)
fin>>a[i];
}
void Afisare()
{
int i;
for(i=1;i<=n;i++)
fout<<a[i]<<" ";
}
int main()
{
Citire();
fout<<Cauta(1,n);
return 0;
}