Pagini recente » Cod sursa (job #1798412) | Cod sursa (job #2477148) | Cod sursa (job #3285048) | Cod sursa (job #1488038) | Cod sursa (job #3211784)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("sdo.in");
ofstream fout("sdo.out");
int n,k,a[3000001];
int pivot(int st,int dr){
int dst=0,ddr=1;
swap(a[st],a[(st+dr)/2]);
while(st<dr){
if(a[st]>a[dr]){
swap(a[st],a[dr]);
swap(dst,ddr);
}
st=st+dst;
dr=dr-ddr;
}
return st;
}
void quicksort(int st,int dr){
if(st<=dr){
int p=pivot(st,dr);
if(p==k)
fout<<a[k];
else
if(k>p)
quicksort(p+1,dr);
else
quicksort(st,p-1);
}
}
int main()
{
fin>>n>>k;
for(int i=1;i<=n;i++)
fin>>a[i];
quicksort(1,n);
return 0;
}