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

Envío 735

Problema 0xf2 - Partir un arreglo grande en 2

  • Autor: abatesins
  • Fecha: 2020-09-14 20:31:50 UTC (Hace más de 3 años)
Caso # Resultado Tiempo Memoria
#1
Incorrecto
0.024 s 3 KBi
#2
Incorrecto
0.024 s 6 KBi
#3
Incorrecto
0.025 s 6 KBi
#4
Correcto
0.028 s 4 KBi
#5
Incorrecto
0.03 s 3 KBi
#6
Correcto
0.031 s 3 KBi
#7
Correcto
0.03 s 4 KBi
#8
Correcto
0.041 s 5 KBi
#9
Correcto
0.024 s 3 KBi
#10
Incorrecto
0.028 s 3 KBi
#11
Incorrecto
0.024 s 3 KBi
#12
Incorrecto
0.045 s 6 KBi
#13
Incorrecto
0.03 s 3 KBi
#14
Incorrecto
0.402 s 47 KBi
#15
Incorrecto
0.346 s 28 KBi
#16
Tiempo límite excedido
0.397 s 29 KBi
#17
Incorrecto
0.394 s 32 KBi
#18
Incorrecto
0.332 s 30 KBi
#19
Tiempo límite excedido
0.391 s 29 KBi
#20
Incorrecto
0.45 s 59 KBi
Puntos totales: 25 / 100

Código

n_arr = int(input())
arr = map(int, input().split(' '))

sums = [0]*(n_arr+1)
positive_idxs = []
for n, p in enumerate(arr):
  psum = sums[n] + p
  sums[n+1] = psum
  # Narrow down to possible solutions for the left side
  if psum > 0 and n < n_arr-1:
    positive_idxs.append(n)

if len(positive_idxs) > 0:
  S = sums[-1]  # total sum
  for s_gt_zero_idx in positive_idxs:
    s_complement = S - sums[s_gt_zero_idx+1]
    if s_complement < 0:
      print(s_gt_zero_idx)
      break
  else:
    print('Impossible')
else:
  print('Impossible')