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