Pagini recente » Cod sursa (job #3136581) | Cod sursa (job #681535) | Cod sursa (job #1883027) | Cod sursa (job #1693404) | Cod sursa (job #855577)
Cod sursa(job #855577)
#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;
m=dr-st+1;
rnd=rand()%m+st;
int i,j;
i=st;
j=dr;
while(i<=j)
{
while(v[i]<v[rnd])
i++;
while(v[j]>v[rnd])
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;
}