Pagini recente » Istoria paginii runda/cevaproblemeoji_1 | Cod sursa (job #330812)
Cod sursa(job #330812)
#include "fstream"
std::ifstream in("algsort.in");
std::ofstream out("algsort.out");
void sort(long a[],long st, long m, long dr)
{
long b[250000];
long i, j, k;
i = 0; j = st;
while (j <= m)
b[i++] = a[j++];
i = 0; k = st;
while (k < j && j <= dr)
if (b[i] <= a[j])
a[k++] = b[i++];
else
a[k++] = a[j++];
while (k < j)
a[k++] = b[i++];
}
void die(long a[],long st, long dr)
{
if (st < dr )
{
int m = (st+dr)/2;
die(a,st, m);
die(a,m+1, dr);
sort(a,st, m, dr);
}
}
int main()
{
long n,a[500000];
in>>n;
int i;
for(i=0;i<n;i++)
in>>a[i];
die(a,0,n-1);
for(i=0;i<n;i++)
out<<a[i]<<" ";
in.close ();
out.close ();
return 0;
}