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

Envío 874

Problema 0xf2 - Partir un arreglo grande en 2

  • Autor: mhc
  • Fecha: 2020-09-26 20:27:05 UTC (Hace alrededor de 4 años)
Caso # Resultado Tiempo Memoria
#1
Correcto
0.022 s 3 KBi
#2
Correcto
0.025 s 3 KBi
#3
Correcto
0.021 s 3 KBi
#4
Correcto
0.02 s 3 KBi
#5
Correcto
0.022 s 3 KBi
#6
Correcto
0.03 s 7 KBi
#7
Correcto
0.024 s 3 KBi
#8
Correcto
0.021 s 3 KBi
#9
Correcto
0.023 s 3 KBi
#10
Correcto
0.022 s 3 KBi
#11
Correcto
0.022 s 3 KBi
#12
Correcto
0.025 s 3 KBi
#13
Correcto
0.025 s 3 KBi
#14
Correcto
0.269 s 32 KBi
#15
Correcto
0.353 s 28 KBi
#16
Correcto
0.349 s 29 KBi
#17
Correcto
0.342 s 29 KBi
#18
Correcto
0.219 s 29 KBi
#19
Correcto
0.275 s 29 KBi
#20
Correcto
0.375 s 59 KBi
Puntos totales: 100 / 100

Código

def cum_sum(arr):

    res = [0]

    for i in arr:
        res.append(res[-1] + i)

    return res

N = int(input())
arr = [int(x) for x in input().split()]
s_arr = cum_sum(arr)
sol = -1

for idx in range(N):

    first_half = s_arr[idx]
    second_half = s_arr[-1] - s_arr[idx]
    if first_half > 0 and second_half < 0:
        sol = idx
        break

if sol == -1:
    print("Impossible")
else:
    print(sol)