#include<bits/stdc++.h> using namespace std; int n,a[100],c[100]; void asd(int l,int r){ if(l>=r) return; int mid=(l+r)/2; asd(l,mid); asd(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]; } asd(1,n); for(int i=1;i<=n;i++){ cout<<a[i]<<' '; } } /************************************************************** Problem: 1010 User: zhangzekai Language: C++ Result: Accepted Time:8 ms Memory:2072 kb ****************************************************************/