Cod sursa(job #1719831)

Utilizator retrogradLucian Bicsi retrograd Data 20 iunie 2016 14:27:05
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <bits/stdc++.h>

using namespace std;

void MergeSort(vector<int> &V) {
	int n = V.size();

	for(int i = 1; i < n; i <<= 1) {
		for(int b = 0; b < n; b += (i + i)) {
			int m = min(b + i, n);
			int e = min(m + i, n);

			inplace_merge(V.begin() + b, V.begin() + m, V.begin() + e);
		}
	}

	V.resize(n);
}

int main() {
	freopen("algsort.in", "r", stdin);
	freopen("algsort.out", "w", stdout);

	int n;
	cin >> n;

	vector<int> V(n);
	for(auto &v : V)
		cin >> v;
	
	MergeSort(V);
	
	for(auto &v : V)
		cout << v << " ";

	return 0;
}