Correzione dell'heap

Dato un max-heap con n numeri, tutti gli elementi rispettano la proprietà di max-heap tranne la radice. È richiesto di sistemare l'heap in modo che tutti i numeri al suo interno soddisfino effettivamente la proprietà di max-heap.

Ingresso

La prima riga dell'input contiene un singolo intero n (1 ≤ n ≤ 100 000).
La riga successiva contiene n numeri interi separati da spazio, a_1, a_2, ..., a_n, che rappresentano i valori degli elementi nell'heap.

Uscita

Il programma deve stampare n interi separati da spazio che rappresentano l’heap corretto.

Esempi

Ingresso
Uscita
7 -1 9 7 1 3 6 5
9 5 7 1 -1 6 3
8 -2 7 5 2 1 3 4 1
7 2 5 1 1 3 4 -2

Spiegazione

Esempio 1 illustrato. Il grafico a sinistra mostra l’heap iniziale. Quello a destra mostra l’heap corretto.
Esempio 1 illustrato. Il grafico a sinistra mostra l’heap iniziale. Quello a destra mostra l’heap corretto.
 
Esempio 2 illustrato. Il grafico a sinistra mostra l’heap prima della correzione. Quello a destra mostra l’heap corretto.
Esempio 2 illustrato. Il grafico a sinistra mostra l’heap prima della correzione. Quello a destra mostra l’heap corretto.
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue