Em xin mọi người giúp làm bài C++ sau. Em cám ơn rất nhiều.
Cho một mảng A gồm n số nguyên. Viết chương trình cho biết có bao nhiêu cách chọn 2 chỉ số i và j sao cho tổng các số trong mỗi đoạn [0..i), [i..j), [j..n) là bằng nhau (mỗi đoạn có ít nhất một số). Biết rằng dữ liệu vào đảm bảo tổng các số trong A luôn chia hết cho 3.
- Dữ liệu vào: BAI_2_IN.TXT
Dòng đầu chứa số n.
n dòng tiếp theo, mỗi dòng chứa một số nguyên.
- Dữ liệu ra: BAI_2_OUT.TXT
Một dòng duy nhất ghi số lượng các cặp i, j tìm được.
- Giới hạn:
2 < n < 20000
-100000 < A < 100000
Tổng các số trong A luôn luôn chia hết cho 3.
Ví dụ:
Giải thích: Các cách chia là:
i = 2, j = 4: [0, -1], [0, -1], [0, -1]
i = 2, j = 5: [0, -1], [0, -1, 0], [-1]
i = 3, j = 5: [0, -1, 0], [-1, 0], [-1]
i = 3, j = 4: [0, -1, 0], [-1], [0, -1]
Cho một mảng A gồm n số nguyên. Viết chương trình cho biết có bao nhiêu cách chọn 2 chỉ số i và j sao cho tổng các số trong mỗi đoạn [0..i), [i..j), [j..n) là bằng nhau (mỗi đoạn có ít nhất một số). Biết rằng dữ liệu vào đảm bảo tổng các số trong A luôn chia hết cho 3.
- Dữ liệu vào: BAI_2_IN.TXT
Dòng đầu chứa số n.
n dòng tiếp theo, mỗi dòng chứa một số nguyên.
- Dữ liệu ra: BAI_2_OUT.TXT
Một dòng duy nhất ghi số lượng các cặp i, j tìm được.
- Giới hạn:
2 < n < 20000
-100000 < A < 100000
Tổng các số trong A luôn luôn chia hết cho 3.
Ví dụ:
BAI_2_IN.TXT | BAI_2_OUT.TXT |
6 0 -1 0 -1 0 -1 | 4 |
Giải thích: Các cách chia là:
i = 2, j = 4: [0, -1], [0, -1], [0, -1]
i = 2, j = 5: [0, -1], [0, -1, 0], [-1]
i = 3, j = 5: [0, -1, 0], [-1, 0], [-1]
i = 3, j = 4: [0, -1, 0], [-1], [0, -1]