Cod sursa(job #257606)

Utilizator BaduBadu Badu Badu Data 13 februarie 2009 17:52:40
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<stdio.h>
#define IN "algsort.in"
#define OUT "algsort.out"
#define NMAX 500001
#define ll long long

ll V[NMAX],n;

void sort(ll st , ll dr){

ll i=st,j=dr,x,aux;

if(dr<=st) return;

x =V[(st+dr)>>1];


for(;i<=j;){

	while(V[i]<x)i++;

	while(x<V[j])j--;

	if(i<=j){

	aux=V[i];V[i]=V[j];V[j]=aux;

	i++;j--;}

}
if(st<j) sort(st,j);
if(i<dr) sort(i,dr);

}

int main(){

	freopen(IN,"rt",stdin);
	freopen(OUT,"wt",stdout);

	scanf("%d",&n);
	ll i;
	for(i=1;i<=n;i++) scanf("%d",V+i);
	sort(1,n);
        for(i=1;i<=n;i++) printf("%d ",V[i]);


	return 0;
}