Pagini recente » Cod sursa (job #2636979) | Cod sursa (job #1024530) | Cod sursa (job #681789) | Cod sursa (job #1653206) | Cod sursa (job #1757744)
#include <bits/stdc++.h>
using namespace std;
int n; long long a[500005], b[500005];
void Merge(long long a[],int l,int r,long long b[]){
if(r==l) return;
int m=(l+r)/2;
Merge(a,l,m,b);
Merge(a,m+1,r,b);
int i=l, j=m+1;
for(int k=l; k<=r; k++){
if(i<=m && (j>r || a[i]<=a[j])){
b[k]=a[i++];
}
else{
b[k]=a[j++];
}
}
for(int i=l;i<=r;i++) a[i]=b[i];
}
int main()
{
ifstream in("algsort.in");
ofstream out("algsort.out");
in >> n;
for(int i=1;i<=n;i++) in >> a[i];
Merge(a,1,n,b);
for(int i=1;i<=n;i++) cout << a[i] << ' ';
}