█████████ ████ ███░░░░░███ ░░███ ███ ░░░ ██████ ███████ ██████ ██████ ░███ ███░░███ ███░░███ ███░░███ ███░░███ ░███ ░███ ░███░███ ░███ ░███████ ░███ ░███ ░░███ ███░███ ░███░███ ░███ ░███░░░ ░███ ░███ ░░█████████ ░░██████ ░░████████░░██████ ░░██████ ░░░░░░░░░ ░░░░░░ ░░░░░░░░ ░░░░░░ ░░░░░░

Envío 1505

Problema 0xdd - Ordenar un arreglo pequeño

  • Autor: Mejibyte
  • Fecha: 2020-11-02 03:50:49 UTC (Hace más de 3 años)
Caso # Resultado Tiempo Memoria
#1
Correcto
0.02 s 3 KBi
#2
Correcto
0.025 s 3 KBi
#3
Correcto
0.021 s 3 KBi
#4
Correcto
0.027 s 3 KBi
#5
Correcto
0.02 s 3 KBi
#6
Correcto
0.022 s 3 KBi
#7
Correcto
0.019 s 3 KBi
#8
Correcto
0.025 s 3 KBi
#9
Correcto
0.02 s 3 KBi
#10
Correcto
0.021 s 3 KBi
#11
Correcto
0.025 s 3 KBi
#12
Correcto
0.023 s 3 KBi
#13
Correcto
0.023 s 3 KBi
#14
Correcto
0.025 s 3 KBi
#15
Correcto
0.025 s 3 KBi
#16
Correcto
0.023 s 3 KBi
#17
Correcto
0.024 s 3 KBi
#18
Correcto
0.023 s 3 KBi
#19
Correcto
0.033 s 3 KBi
#20
Correcto
0.03 s 3 KBi
Puntos totales: 100 / 100

Código

def merge_sort(a):
  n = len(a)
  if n == 1:
    return a
  half = int(n/2)
  left = merge_sort(a[0:half])
  right = merge_sort(a[half:])
  a = []

  l, r = 0, 0
  while l < len(left) and r < len(right):
    if left[l] < right[r]:
      a.append(left[l])
      l += 1
    else:
      a.append(right[r])
      r += 1
  a.extend(left[l:])
  a.extend(right[r:])

  return a

n = input()
a = merge_sort(list(map(int, input().split())))
print(*a, sep=" ")