#include<bits/stdc++.h> using namespace std; int n,a[1000],c[1000]; void mergesort(int l,int r){ if(l>=r)return; int mid=(l+r)/2; mergesort(l,mid); mergesort(mid+1,r); int ilen=mid-l+1,jlen=r-mid; int i=l,j=mid+1,k=1; while(i<=mid&&j<=r){ if(a[i]<a[j])c[k++]=a[i++]; else c[k++]=a[j++]; } while(i<=mid)c[k++]=a[i++]; while(j<=r)c[k++]=a[j++]; for(int i=1;i<=r-l+1;i++)a[l+i-1]=c[i]; } int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } mergesort(1,n); for(int i=1;i<=n;i++){ cout<<a[i]<<" "; } return 0; } /************************************************************** Problem: 1010 User: chenjingqi Language: C++ Result: Accepted Time:8 ms Memory:2080 kb ****************************************************************/