Pagini recente » Cod sursa (job #530040) | Cod sursa (job #162044) | Cod sursa (job #758247) | Cod sursa (job #1301514) | Cod sursa (job #603976)
Cod sursa(job #603976)
#include<cstdio>
using namespace std;
int n,v[500005],x[500005];
void merge_sort(int lt,int rt){
int mid=(lt+rt)>>1,i,j,k;
if(lt==rt){
return;
}
merge_sort(lt,mid);
merge_sort(mid+1,rt);
for( i = lt, j = mid+1, k = lt; i <= mid || j <= rt; )
if( j > rt || (i <= mid && v[i] < v[j]) )
x[ k++ ] = v[ i++ ];
else
x[ k++ ] = v[ j++ ];
for( k = lt; k <= rt; k++ )
v[k] = x[k];
}
int main(){
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;++i){
scanf("%d",&v[i]);
}
merge_sort(1,n);
for(int i=1;i<=n;++i){
printf("%d",v[i]);
}
return 0;
}