Cod sursa(job #750179)

Utilizator GrimpowRadu Andrei Grimpow Data 21 mai 2012 10:08:41
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<iostream>
#include<fstream>
using namespace std;

int A[500001],B[500001],n;

void mergesort(int l,int r)
{
	int m=(l+r)/2,k,i,j;
	if(l==r) return;
	mergesort(l,m);
	mergesort(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()
{
	int i;
	ifstream f("algsort.in");
	ofstream g("algsort.out");
	f>>n;
	for(i=1;i<=n;++i)
		f>>A[i];
	mergesort(1,n);
	for(i=1;i<=n;++i)
		g<<A[i]<<' ';
	return 0;
}