Cod sursa(job #257591)

Utilizator BaduBadu Badu Badu Data 13 februarie 2009 17:15:18
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 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,j,x;

 if(st<dr){

 x=V[st]; i =st; j = dr;

while(i<j) {

	while(i<j && V[j]>=x) j--;
	V[i]=V[j];
	while(i<j && V[i]<=x) i++;
	V[j]=V[i];
}

V[i]=x;

sort(st,i-1);
sort(i+1,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;
}