#4366. 堆重排

堆重排

题目描述

给定一个长度为 $N$ 的整数数组,请你使用 大根堆(最大堆) 的方法,将数组重新排序,使其成为一个大根堆,并输出堆化后的数组(按数组下标顺序输出,不要求逐步操作输出)。

注意:

  • 大根堆的性质:对于每个非叶子节点 $i$,有 $a[i] \ge a[2i]$ 且 $a[i] \ge a[2i+1]$(若存在对应子节点)。
  • 数组下标从 1 开始

输入格式

第一行:一个整数 $N$,表示数组长度。

第二行:$N$ 个空格隔开的整数 $a_i$,表示数组元素。

输出格式

一行,输出堆化后的数组(按下标顺序从 1 到 N 输出),数之间用一个空格隔开。

样例输入

5
2 13 8 3 28

样例输出

2 3 8 13 28

数据范围

  • $1 \le N \le 10^5$
  • $1 \le a_i \le 10^9$