Pagini recente » Cod sursa (job #767133) | Cod sursa (job #165992) | Cod sursa (job #965233) | Cod sursa (job #725375) | Cod sursa (job #855602)
Cod sursa(job #855602)
#include <stdlib.h>
#include <time.h>
#include<fstream>
using namespace std;
ifstream f("sdo.in");
ofstream g("sdo.out");
int n, k, v[3000001];
void sort(int st,int dr)
{
if(st<dr)
{
srand ( time(NULL) );
int rnd, m, nr1, nr2, nr3, val;
m=dr-st+1;
rnd=rand()%m+st;
int i,j;
i=st;
j=dr;
val=v[rnd];
while(i<=j)
{
while( v[i] < val )
i++;
while( v[j] > val )
j--;
if( i <= j )
{
int aux;
aux=v[i];
v[i]=v[j];
v[j]=aux;
i++;
j--;
}
}
if( ( i-j == 2 ) && ( k == i-1 ) )
g<<v[i-1]<<" ";
else
if(k>=i)
sort(i,dr);
else sort(st,j);
}
else g<<v[st]<<" ";
}
int main()
{
f>>n;
f>>k;
int i;
for(i=1;i<=n;i++)
f>>v[i];
sort(1,n);
return 0;
}