提交记录 #551
提交时间:2025-06-03 14:16:45
语言:c
状态:Accepted
编译情况:编译成功
固定测试点#1:
固定测试点#2:
固定测试点#3:
额外测试点#3600:
30【应用】排序
#include<stdio.h>
int n,a[100000],t[100000];
void mergeSort(int l,int r){
if(l==r) return;
int mid=(l+r)/2;
mergeSort(l,mid);
mergeSort(mid+1,r);
int i=l,j=mid+1,k=l;
while(i<=mid&&j<=r){
if(a[i]<a[j]) t[k++]=a[i++];
else t[k++]=a[j++];
}
while(i<=mid) t[k++]=a[i++];
while(j<=r) t[k++]=a[j++];
for(i=l;i<=r;i++) a[i]=t[i];
}
int main(){
scanf("%d",&n);
for(int i=0;i<n;i++) scanf("%d",&a[i]);
mergeSort(0,n-1);
for(int i=0;i<n;i++){
printf("%d",a[i]);
if(i!=n-1) printf(" ");
}putchar('\n');
return 0;
}