Caso # | Resultado | Tiempo | Memoria |
---|---|---|---|
#1 |
Correcto
|
0.024 s | 3 KBi |
#2 |
Correcto
|
0.031 s | 3 KBi |
#3 |
Correcto
|
0.031 s | 3 KBi |
#4 |
Correcto
|
0.021 s | 3 KBi |
#5 |
Correcto
|
0.028 s | 3 KBi |
#6 |
Correcto
|
0.024 s | 3 KBi |
#7 |
Correcto
|
0.163 s | 11 KBi |
#8 |
Correcto
|
0.717 s | 11 KBi |
#9 |
Correcto
|
0.739 s | 11 KBi |
#10 |
Tiempo límite excedido
|
0.919 s | 11 KBi |
#11 |
Correcto
|
0.222 s | 15 KBi |
#12 |
Correcto
|
0.232 s | 15 KBi |
#13 |
Tiempo límite excedido
|
0.599 s | 14 KBi |
#14 |
Correcto
|
0.9 s | 15 KBi |
#15 |
Tiempo límite excedido
|
0.546 s | 14 KBi |
#16 |
Tiempo límite excedido
|
1.067 s | 14 KBi |
#17 |
Tiempo límite excedido
|
1.043 s | 14 KBi |
#18 |
Tiempo límite excedido
|
0.719 s | 15 KBi |
#19 |
Correcto
|
0.922 s | 14 KBi |
#20 |
Correcto
|
0.7 s | 11 KBi |
#21 |
Tiempo límite excedido
|
0.605 s | 14 KBi |
#22 |
Tiempo límite excedido
|
0.677 s | 14 KBi |
#23 |
Tiempo límite excedido
|
0.577 s | 14 KBi |
#24 |
Tiempo límite excedido
|
0.655 s | 15 KBi |
#25 |
Tiempo límite excedido
|
0.661 s | 15 KBi |
#26 |
Tiempo límite excedido
|
0.745 s | 14 KBi |
#27 |
Tiempo límite excedido
|
0.717 s | 14 KBi |
def shift_right(arr, low, high): root = low while root * 2 + 1 <= high: left = root * 2 + 1 right = left + 1 swap = root if arr[swap] < arr[left]: swap = left if right <= high and arr[swap] < arr[right]: swap = right if swap != root: arr[root], arr[swap], root = arr[swap], arr[root], swap else: break def heapify(arr, low, high): mid = (high - low - 1) // 2 while mid >= 0: shift_right(arr, mid, high) mid -= 1 def heapsort(arr): if arr: length = len(arr) high = length - 1 heapify(arr, 0, high) while high > 0: arr[high], arr[0] = arr[0], arr[high] high -= 1 shift_right(arr, 0, high) if __name__ == "__main__": n = input() arr = list(map(int, input().split(" "))) heapsort(arr) print(" ".join(map(str, arr)))