Xin giúp đỡ về bài tập C++

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ụ:
BAI_2_IN.TXTBAI_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]
 
Bạn nào chỉ giúp em với. Cho em chút ý tưởng, em cám ơn nhiều nhiều nhiều!!!!
 
Bạn nào chỉ giúp em với. Em biết mỗi đoạn phải có tổng là 1/3 của tổng các số trong mảng. Nhưng mà làm sao em chia, làm sao đếm đc số cách chia. Vui lòng hướng dẫn cụ thể cho em tí ạ.
 
Bác nhờ thử bác @tengiday đó. Mấy bài của bác ấy làm rất tốt, nói được làm được. Chỉ là bác ấy hình như ít online lắm.
 

Bài viết đang hot

Thống kê

Chủ đề
102,777
Bài viết
470,596
Thành viên
340,591
Thành viên mới nhất
Quang Nguyễn NĐ
Top