Pagini recente » Cod sursa (job #1618621) | Cod sursa (job #851434) | Cod sursa (job #1075252) | Cod sursa (job #1547135) | Cod sursa (job #1453251)
#include <bits/stdc++.h>
using namespace std;
long long n,a[500013],aux[500013],i;
void MergeSort(int st,int dr)
{
int i,j,k;
long long middle=(st+dr)/2;
if (st==dr) return ;
MergeSort(st,middle);
MergeSort(middle+1,dr);
for (i=st, j=middle+1, k=st; i<=middle || j<=dr; )
if (j>dr || (st<=middle && a[i] < a[j])) aux[k++]=a[i++];
else aux[k++]=a[j++];
for (k=st;k<=dr;++k) a[k]=aux[k];
}
int main(void)
{
ifstream cin("algsort.in");
ofstream cout("algsort.out");
cin>>n;
for (i=1;i<=n;++i) cin>>a[i];
MergeSort(1,n);
for (i=1;i<=n;++i) cout<<a[i]<<" ";
return 0;
}