Reto tomado con permiso de mi concurso de desafío de código universitario
Después de terminar sus estudios hace un par de meses, Marie abrió una cuenta bancaria para comenzar a recibir el pago de su primer trabajo en la ciudad. Desde entonces, ha estado realizando algunas transacciones con él. Su primer pago fue de $ 1000 dólares. Con ese dinero pagó una cena en la que invitó a sus padres (la cena costó $ 150 dólares), luego hizo una compra en un conocido supermercado ($ 80 dólares) y una reserva de hotel para sus vacaciones ($ 200). Al final del mes recibió nuevamente su pago (1040 dólares, un poco más que el mes anterior) y al día siguiente gastó otros $ 70 dólares en el supermercado.
Hoy, se dio cuenta de que si después de pagar los primeros $ 80 dólares en el supermercado se hubiera creado una segunda cuenta y la primera congelada, ambas cuentas tendrían exactamente el mismo saldo:
El evento fue tan raro para ella que quiere seguir averiguando si los movimientos de su cuenta y los de sus amigos también tienen esta característica o no.
Desafío
Dada una lista de transacciones, genere el número de instantes de tiempo en que el propietario de la cuenta bancaria podría haber creado una segunda cuenta para que ambos tuvieran el mismo saldo final.
Ejemplo: [1000, -150, -80, -200, 1040, -70]
Caso de prueba
- Entrada:
1000 -150 -80 -200 1040 -70Salida:1 - Entrada:
100 -100Salida:2 - Entrada:
1 2 3Salida:1 - Entrada:
10 -20 15Salida:0 - Entrada:
15 -15 15 -15Salida:3 - Entrada:
1Salida:0
Notas
- Puede suponer que no habrá ninguna transacción de $ 0 dólares
- Puede tomar aportes de cualquier manera razonable