Thử thách được thực hiện với sự cho phép từ Cuộc thi Thử thách Mã trường Đại học của tôi
Sau khi hoàn thành việc học của mình vài tháng trước, Marie đã mở một tài khoản ngân hàng để bắt đầu nhận khoản thanh toán cho công việc đầu tiên của mình trong thị trấn. Kể từ đó, cô đã thực hiện một vài giao dịch với nó. Khoản thanh toán đầu tiên của cô là 1000 đô la. Với số tiền đó, cô đã trả cho một bữa tối trong đó cô mời bố mẹ (Bữa tối có giá 150 đô la), sau đó, cô đã mua hàng trong một siêu thị nổi tiếng (80 đô la) và đặt phòng khách sạn cho kỳ nghỉ của mình (200 đô la). Vào cuối tháng, cô lại nhận được khoản thanh toán của mình (1040 đô la, nhiều hơn một chút so với tháng trước) và một ngày sau khi cô chi thêm 70 đô la tại siêu thị.
Hôm nay, cô nhận ra rằng nếu sau khi trả 80 đô la đầu tiên trong siêu thị, một tài khoản thứ hai đã được tạo và tài khoản đầu tiên bị đóng băng, cả hai tài khoản sẽ có số dư chính xác như nhau:
Sự kiện này rất hiếm với cô đến nỗi cô muốn tiếp tục xác định xem liệu các chuyển động của tài khoản của cô và những người bạn của cô có tính năng này hay không.
Thử thách
Đưa ra một danh sách các giao dịch, xuất ra số lượng thời gian mà chủ sở hữu của tài khoản ngân hàng có thể đã tạo một tài khoản thứ hai để cả hai có cùng số dư cuối cùng.
Ví dụ: [1000, -150, -80, -200, 1040, -70]
Trường hợp thử nghiệm
- Đầu vào:
1000 -150 -80 -200 1040 -70Đầu ra:1 - Đầu vào:
100 -100Đầu ra:2 - Đầu vào:
1 2 3Đầu ra:1 - Đầu vào:
10 -20 15Đầu ra:0 - Đầu vào:
15 -15 15 -15Đầu ra:3 - Đầu vào:
1Đầu ra:0
Ghi chú
- Bạn có thể cho rằng sẽ không có bất kỳ giao dịch nào là 0 đô la
- Bạn có thể nhận đầu vào theo bất kỳ cách hợp lý