Wyzwanie Podjęte za zgodą mojego konkursu na University Code Challenge
Po ukończeniu studiów kilka miesięcy temu Marie otworzyła konto bankowe, aby zacząć otrzymywać wynagrodzenie za pierwszą pracę w mieście. Od tego czasu przeprowadzała z nim kilka transakcji. Jej pierwsza płatność wyniosła 1000 dolarów. Za te pieniądze zapłaciła za obiad, na który zaprosiła rodziców (obiad kosztował 150 USD), a następnie dokonała zakupu w znanym supermarkecie (80 USD) i rezerwacji hotelu na wakacje (200 USD). Pod koniec miesiąca ponownie otrzymała zapłatę (1040 dolarów, nieco więcej niż w poprzednim miesiącu), a następnego dnia wydała kolejne 70 dolarów w supermarkecie.
Dzisiaj zdała sobie sprawę, że jeśli po zapłaceniu pierwszych 80 dolarów w supermarkecie zostanie utworzone drugie konto, a pierwsze zamrożone, oba konta będą miały dokładnie takie samo saldo:
Wydarzenie było dla niej tak rzadkie, że chce dalej sprawdzać, czy ruchy jej konta i ruchy jej przyjaciół mają tę funkcję, czy nie.
Wyzwanie
Biorąc pod uwagę listę transakcji, podaj liczbę przypadków, w których właściciel konta bankowego mógł utworzyć drugie konto, aby oba miały takie samo saldo końcowe.
Przykład: [1000, -150, -80, -200, 1040, -70]
Przypadek testowy
- Wejście:
1000 -150 -80 -200 1040 -70Wyjście:1 - Wejście:
100 -100Wyjście:2 - Wejście:
1 2 3Wyjście:1 - Wejście:
10 -20 15Wyjście:0 - Wejście:
15 -15 15 -15Wyjście:3 - Wejście:
1Wyjście:0
Notatki
- Możesz założyć, że nie będzie żadnej transakcji o wartości 0 USD
- Możesz wziąć wkład w dowolny rozsądny sposób