Cod sursa(job #1181330)

Utilizator tudi98Cozma Tudor tudi98 Data 2 mai 2014 15:24:36
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>
#define dim 500001
using namespace std;

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

void merge_sort(int l,int r){

	if(l==r) return;
	int m=(l+r)/2,i,j,k;
	merge_sort(l,m);
	merge_sort(m+1,r);

	for(i=l,j=m+1,k=l;i<=m || j<=r;){
		if((A[i]<=A[j] && i<=m) || j>r)	
			B[k++]=A[i++];	
		else 
			B[k++]=A[j++];
	}
	for(k=l;k<=r;k++) A[k]=B[k]; 
}

int main(){

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

	f>>n;
	for(int i=1;i<=n;i++)
		f >> A[i];

	merge_sort(1,n);

	for(int i=1;i<=n;i++)
		g << A[i] <<" "; 
}