Cod sursa(job #274424)

Utilizator ConsstantinTabacu Raul Consstantin Data 9 martie 2009 18:48:28
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<stdio.h>

unsigned int v[50011],x[50011],n,i;

void merge(int p,int u){
if(p==u)return ;
int i,j,k,m=(p+u)>>1;
merge(p,m);
merge(m+1,u);
for(i=p,j=m+1,k=p;i<=m||j<=u;)
if(j>u||(v[i]<=v[j])&&i<=m)
        x[k++]=v[i++];
else
        x[k++]=v[j++];
for(i=p;i<=u;i++)
        v[i]=x[i];
}
int main(){

freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);

scanf("%d",&n);

for(i=1;i<=n;i++)
        scanf("%d",&v[i]);

merge(1,n);

for(i=1;i<=n;i++)
        printf("%d ",v[i]);
return 0;}