#include <bits/stdc++.h>
#define int long long int
using namespace std;
inline int read() {
register int x = 0, f = 1;
register char c = getchar();
while (c < '0' || c > '9') {
if (c == '-')
f = -1;
c = getchar();
}
while (c >= '0' && c <= '9') {
x = x * 10 + c - '0';
c = getchar();
}
return x * f;
}
inline void write(int x) {
if (x < 0) {
putchar('-');
x = -x;
}
if (x > 9)
write(x / 10);
putchar(x % 10 + '0');
}
void mergeSort(int nums[], int l, int r) {
if (l >= r)
return ;
int mid = l + (r - l >> 1);
mergeSort(nums, l, mid);
mergeSort(nums, mid + 1, r);
int n = r - l + 1;
int numsP[n] = {}, i = 0, p1 = l, p2 = mid + 1;
while (p1 <= mid && p2 <= r)
numsP[i++] = nums[p2] < nums[p1] ? numsP[p2++] : nums[p1++];
while (p1 <= mid)
numsP[i++] = nums[p1++];
while (p2 <= r)
numsP[i++] = nums[p2++];
for (int j = 0; j < n; j++)
nums[l + j] = numsP[j];
}
int n, a[100005];
signed main() {
n = read();
for (int i = 0; i < n; i++)
a[i] = read();
mergeSort(a, 0, n - 1);
for (int i = 0; i < n; i++) {
write(a[i]);
putchar(' ');
}
return 0;
}
怎么了???