Cod sursa(job #715792)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 17 martie 2012 19:20:59
Problema Sortare prin comparare Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<fstream>
#define dim 500000

using namespace std;

ifstream f("algsort.in");
ofstream g("algsort.out");

int A[dim],B[dim],n;
void merge(int st, int dr) {
	if(st==dr)
		return ;
   int mij=(st+dr)/2;
   int i,j,k;
   merge(st,mij);
   merge(mij+1,dr);
	for(i=st,j=mij+1,k=st;k<=dr;k++){
		if((A[i]<A[j] && i<=mij)|| j>dr)
			B[k]=A[i++];
		else
			B[k]=A[j++];
	}
	for(int u=st;u<=dr;u++)
		A[u]=B[u];
}
int main() {
	f>>n;
	for(int i=1;i<=n;i++)
		f>>A[i];
	
	merge(1,n);
	
	for(int i=1;i<=n;i++)
		g<<A[i]<<" ";
    return 0;
}