Cod sursa(job #1448430)

Utilizator mouse_wirelessMouse Wireless mouse_wireless Data 7 iunie 2015 02:05:01
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <cassert>
#include <algorithm>
using namespace std;
#define _submit
#ifdef _submit
#define InFile "algsort.in"
#define OtFile "algsort.out"
#else
#define InFile "fis.in"
#define OtFile "fis.out"
#endif

int v[500010];

int main() {
	assert(freopen(InFile, "r", stdin));
	assert(freopen(OtFile, "w", stdout));
	int N;
	cin >> N;
	int aux;
	for (int i = 1; i <= N; i++) {
		cin >> v[i];
		aux = i;
		while (aux > 1 && v[aux] > v[aux >> 1]) {
			swap(v[aux], v[aux >> 1]);
			aux >>= 1;
		}
	}
	sort_heap(v + 1, v + 1 + N);
	for (int i = 1; i <= N; i++)
		cout << v[i] << ' ';
	return 0;
}