提交时间:2024-03-05 17:12:41
运行 ID: 135476
#include<bits/stdc++.h> using namespace std; int n,a[100005],b[100005]; void pai(int l,int r) { if(l==r)return; int mid=(l+r)/2; pai(l,mid); pai(mid+1,r); int i=l,j=mid+1,f=l; while(i<=mid&&j<=r) { if(a[i]<=a[j]) b[f++]=a[i++]; else b[f++]=a[j++]; } if(i<=mid) while(i<=mid)b[f++]=a[i++]; if(j<=r) while(j<=r)b[f++]=a[j++]; for(i=l;i<=r;i++)a[i]=b[i]; } int main() { cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; pai(1,n); for(int i=1;i<=n;i++)cout<<a[i]<<" "; return 0; }