Cod sursa(job #272196)

Utilizator cameleonGeorgescu Dan cameleon Data 6 martie 2009 15:55:51
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <stdio.h>
#include <stdlib.h>
#include<algorithm>
using namespace std;
FILE *f,*g;
long nt,a[500001];;
void insbn(long x)
{       long i, p, u, mj;
	p=0; u=nt;
	while(p<=u)
	{       mj=(p+u)/2;
		if(x<a[mj])
			u=mj-1;
		else
			p=mj+1;
	}
	for(i=nt+1; i>p; i--)
	{	a[i]=a[i-1];
	}
	a[p]=x;
	nt++;
}
int main()
{
	long n,i;
		
	freopen("algsort.in","r",stdin);
	freopen("algsort.out","w",stdout);
	scanf("%ld",&n);
	nt=0;
	for(i=0; i<n; i++) 
		{scanf("%ld",&a[i]);
		insbn(a[i]);
		}
	//sort(a,a+n);
	for(i=0; i<n; i++) printf("%ld ",a[i]);
	return 0;
}