Pagini recente » Cod sursa (job #509084) | Cod sursa (job #2623114) | Cod sursa (job #1478628) | Cod sursa (job #221953) | Cod sursa (job #1900370)
#include <fstream>
#include <time.h>
#include <stdlib.h>
using namespace std;
ifstream fin("sdo.in");
ofstream fout("sdo.out");
int a[3000001],n,m;
void qsort(int in,int fi)
{
if(in==fi)
{
fout<<a[in];
return;
}
//int pivot=a[abs(rand()%fi)+in];
int pivot=a[(in+fi)/2];
int st=in,dr=fi;
while(st<=dr)
{
while(a[st]<pivot)
st++;
while(a[dr]>pivot)
dr--;
if(st<=dr)
{
swap(a[st],a[dr]);
st++;
dr--;
}
}
if(dr>=m)
qsort(in,dr);
else
qsort(st,fi);
}
int main()
{
srand(time(NULL));
fin>>n>>m;
for(int i=1;i<=n;i++)
fin>>a[i];
qsort(1,n);
return 0;
}