Cod sursa(job #252812)

Utilizator socheoSorodoc Ionut socheo Data 4 februarie 2009 22:22:15
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<stdio.h>
int a[500010],b[500010],n;
void sort(int l,int r)
{  int m=(l+r)>>1,i,j,k;
  if(l==r) return ;
  sort(l,m);
  sort(m+1,r);
  for(i=l,j=m+1,k=l;i<=m||j<=r;)
	  if(j>r||(i<=m&&a[i]<a[j]))
		b[k++]=a[i++];
	  else
		  b[k++]=a[j++];
	 for(k=l;k<=r;k++)
        a[k]=b[k];		 
	  
	
}
int main()
{ freopen("algsort.in","r",stdin);
  freopen("algsort.out","w",stdout);
  int q;
  scanf("%d",&n);
  for(q=1;q<=n;q++)
	scanf("%d",&a[q]);
  sort(1,n);
  for(q=1;q<=n;q++)
	  printf("%d ",a[q]);
  
return 0;}