Pagini recente » Cod sursa (job #2108193) | Cod sursa (job #2455490) | Cod sursa (job #960757) | Cod sursa (job #1459950) | Cod sursa (job #2158289)
#include <bits/stdc++.h>
using namespace std;
int n;
int v[500005];
int aux[500005];
void Sort(int left = 1, int right = n) {
if (left == right) return;
int m = (left + right) >> 1;
Sort(left, m);
Sort(m + 1, right);
int i, i1, k = left;
for (i = left, i1 = m + 1; i <= m && i1 <= right;)
if (v[i] < v[i1])
aux[k++] = v[i++];
else aux[k++] = v[i1++];
while (i <= m)
aux[k++] = v[i++];
while (i1 <= right)
aux[k++] = v[i1++];
for (k = left; k <= right; k++)
v[k] = aux[k];
}
int main() {
freopen("algsort.in", "r", stdin);
freopen("algsort.out", "w", stdout);
ios_base::sync_with_stdio(0);
cin >> n;
for (int i = 1; i <= n; i++)
cin >> v[i];
Sort();
for (int i = 1; i <= n; i++)
cout << v[i] << " ";
}