5 条题解
-
0
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e6+10;
ll a[N],t[N];
ll n,ans;
void pai(ll x,ll y){
if(x==y)return ;
ll mid=(x+y)>>1;
pai(x,mid);
pai(mid+1,y);
ll i=x,j=mid+1,k=x;
while(i<=mid&&j<=y){
if(a[i]<=a[j]) {
t[k++]=a[i++];
}
else{
t[k++]=a[j++];
}
}
while(i<=mid){
t[k++]=a[i++];
}
while(j<=y){
t[k++]=a[j++];
}
for(int i=x;i<=y;i++){
a[i]=t[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;
}
信息
- ID
- 1099
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 29
- 已通过
- 0
- 上传者