Pagini recente » Cod sursa (job #99373) | Cod sursa (job #2161409) | Cod sursa (job #1687266) | Cod sursa (job #1038968) | Cod sursa (job #1045412)
#include <fstream>
using namespace std;
ifstream cin("algsort.in");
ofstream cout("algsort.out");
int n, i, v[500001];
void msort(int v[], int st, int dr)
{
int m=(st+dr)>>1, i, j, k, s[500001];
if(st==dr) return;
msort(v, st, m);
msort(v, m+1, dr);
for(i=st, j=dr, k=st; i<=m || j<=dr;)
if(j>dr || (i<=m && v[i]<=v[j])) s[k++]=v[i++];
else s[k++]=v[j++];
for(k=st; k<=dr; k++) v[k]=s[k];
}
int main()
{
cin>>n;
for(i=1; i<=n; i++) cin>>v[i];
msort(v, 1, n);
for(i=1; i<=n; i++) cout<<v[i]<<" ";
return 0;
}