Pagini recente » Cod sursa (job #1392576) | Cod sursa (job #12322) | Cod sursa (job #692577) | Cod sursa (job #3282202) | Cod sursa (job #1019324)
#include<iostream>
#include<fstream>
#include<stdlib.h>
using namespace std;
int k;
void sor(int* a, int p, int q)
{
int i = p;
int j = q;
int aux;
int piv = a[p+rand()%(q-p+1)];
while(i<=j)
{
while(a[i]<piv)
i++;
while(a[j]>piv)
j--;
if(i<=j)
{
aux=a[i];
a[i++]=a[j];
a[j--]=aux;
}
}
if(k<=j)
sor(a, p, j);
else if(k>=i)
sor(a, i, q);
}
int main()
{
int *a, n, i;
fstream f("sdo.in");
f>>n; f>>k;
a = new int [n+1];
for(i=1; i<=n; i++)
f>>a[i];
sor(a, 1, n);
ofstream g("sdo.out");
g<<a[k];
f.close();
g.close();
return 0;
}