#include <cstdio>
using namespace std;
#define maxn 50006
int a[maxn];
int n,s;
int merge(int l,int m,int r)
{
int t[n],p=0,i=l,j=m+1;
while (i<=m && j<=r)
if (a[i]>a[j])
t[++p]=a[j++];
else
t[++p]=a[i++];
while (i<=m)
t[++p]=a[i++];
while (j<=r)
t[++p]=a[j++];
for (int k=l;k<=r;k++)
a[k]=t[k-l+1];
return 0;
}
int mergesort(int l,int r)
{
int m=(l+r) / 2;
if (l>=r)
return 0;
mergesort(l,m);
mergesort(m+1,r);
merge(l,m,r);
}
int main()
{
scanf("%d",&n);
for (int i=1;i<=n;i++)
scanf("%d",&a[i]);
mergesort(1,n);
for (int i=1;i<=n;i++)
printf("%d ",a[i]);
return 0;
}
Pixiv ID:61372077