Pagini recente » Cod sursa (job #657204) | Cod sursa (job #1864183) | Cod sursa (job #3000054) | Cod sursa (job #1684297) | Cod sursa (job #3254330)
#include<bits/stdc++.h>
using namespace std;
ifstream fin ("algsort.in");
ofstream fout ("algsort.out");
long long n,i,v[500001],srt[500001];
void msort(long long v[], long long st, long long dr){
if(st<dr){
long long mid=(st+dr) / 2;
msort(v,st,mid);
msort(v,mid+1,dr);
long long i=st, j=mid+1, k=0;
while( i<=mid && j<=dr)
if(v[i]<v[j])
srt[++k]=v[i++];
else
srt[++k]=v[j++];
while(i<=mid)
srt[++k]=v[i++];
while(j<=dr)
srt[++k]=v[j++];
for(i=st,j=1; i<= dr ; i++, j++)
v[i] = srt[j];
}
}
int main (){
fin>>n;
for(i=1;i<=n;i++)
fin>>v[i];
msort(v,1,n);
for(i=1;i<=n;i++)
fout<<v[i]<<" ";
}