Pagini recente » Cod sursa (job #2360705) | Cod sursa (job #1417054) | Cod sursa (job #2827692) | Cod sursa (job #1351393) | Cod sursa (job #1786378)
#include <bits/stdc++.h>
using namespace std;
int n, a[500005], b[500005];
void Merge(int l,int r){
if(r==l) return;
int m=(l+r)/2;
Merge(l,m);
Merge(m+1,r);
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(1,n);
for(int i=1;i<=n;i++) out << a[i] << ' ';
}