Arreglo equilibrado

Dado un arreglo de longitud par, copia la mitad con la mayor suma de números sobre la otra mitad del arreglo. Si la suma de la primera mitad es igual a la suma de la segunda, devuelve el arreglo original.

Ejemplos

balanced([1, 2, 4, 6, 3, 1]) ➞ [6, 3, 1, 6, 3, 1]
# 1 + 2 + 4 < 6 + 3 + 1 da como resultado = [6, 3, 1, 6, 3, 1]

balanced([88, 3, 27, 5, 9, 0, 13, 10]) ➞ [88, 3, 27, 5, 88, 3, 27, 5]
# 88 + 3 + 27 + 5 > 9 + 0 + 13 + 10 da como resultado = [88, 3, 27, 5, 88, 3, 27, 5]

balanced([7, 5, 2, 6, 1, 0, 1, 5, 2, 7, 0, 6]) ➞ [7, 5, 2, 6, 1, 0, 1, 5, 2, 7, 0, 6]
# 7 + 5 + 2 + 6 + 1 + 0 = 1 + 5 + 2 + 7 + 0 + 6 da como resultado = [7, 5, 2, 6, 1, 0, 1, 5, 2, 7, 0, 6]

Notas

La longitud del arreglo es par.

Ejemplo en Java

assertArrayEquals(new int[]{6, 3, 1, 6, 3, 1}, Program.balanced(new int[]{1, 2, 4, 6, 3, 1}));