Pagini recente » Cod sursa (job #940124) | Cod sursa (job #1160490) | Cod sursa (job #1252257) | Cod sursa (job #3004900) | Cod sursa (job #1028353)
#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(p<j && k<=j)
sor(a, p, j);
else if(i<q && 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;
}