ヒープソートアルゴリズム

ヒープソートは、配列を整列するためにヒープというデータ構造を利用する比較ベースのソートアルゴリズムです。アルゴリズムの基本的な流れとしては、まず配列の要素からヒープを作成し、その後、ヒープが空になるまで、最大(または最小)の要素を取り除いて配列の末尾へ移動することを繰り返します。ヒープが最大ヒープか最小ヒープかによって、取り除く要素が最大か最小かが変わります。
この課題では、ミニマムヒープ(最小ヒープ)を使ってヒープソートを実装してください。

入力

入力の最初の行には、要素数を示す単一の整数 n (1 ≤ n ≤ 100 000) が与えられます。
次の行には、整列対象となる n 個の整数 () がスペース区切りで与えられます。

出力

最終的に昇順に並んだ配列を出力してください。

入力
出力
7 4 3 8 -2 9 0 2
-2 0 2 3 4 8 9
 

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