Cod sursa(job #309732)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 30 aprilie 2009 23:52:01
Problema Sortare prin comparare Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<iostream>
#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;
vector <int> inter;
int n,i,x;
void Inter(int st,int dr)
{
	if(st<dr)
	{
		int mij=(st+dr)/2,j;
		Inter(st,mij);
		Inter(mij+1,dr);
		vector <int> aux(500010);
		merge(inter.begin()+st,inter.begin()+mij+1,inter.begin()+mij+1,inter.begin()+dr+1,aux.begin());
		for(i=st,j=0;i<=dr;i++)
			inter[i]=aux[j++];
		aux.clear();
	}
}
int main()
{
	freopen("algsort.in","r",stdin);
	freopen("algsort.out","w",stdout);
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		scanf("%d",&x);
		inter.push_back(x);
	}
	Inter(0,n-1);
	for(i=0;i<n;i++)
		printf("%d ",inter[i]);
	printf("\n");
	return 0;
}