Cắt dải giấy 2

Đề bài

Mô tả

Cho một dải giấy gồm n ô xếp thành hàng ngang, ô thứ i ghi một số nguyên ai (có thể âm).

Hãy đếm số cách cắt dải giấy thành ba phần liên tiếp sao cho:

  • Mỗi phần chứa ít nhất một ô (số ô là số nguyên dương).
  • Tổng các số trong ba phần bằng nhau.

Việc cắt chỉ được thực hiện dọc theo các đường biên giữa hai ô liền kề. Hai cách cắt được coi là khác nhau nếu vị trí ít nhất một đường cắt khác nhau.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n là số ô của dải giấy.
  • Dòng thứ hai chứa n số nguyên a1,a2,…,an.

Dữ liệu ra

  • Một số nguyên duy nhất là số cách cắt hợp lệ.

Ràng buộc

  • 1≤n≤105
  • |ai|≤104
  • Đáp án có thể vượt quá phạm vi số nguyên 32 bit.

Ví dụ

Input Output Giải thích
4
1 2 3 3
1 Cắt thành [1, 2], [3], [3], mỗi phần có tổng bằng 3. Đây là cách duy nhất.
5
1 2 3 4 5
0 Tổng toàn bộ bằng 15, mỗi phần cần tổng 5, nhưng không có cách chia thành ba phần liền nhau đều bằng 5.
3
0 0 0
1 Cắt thành [0], [0], [0], mỗi phần tổng bằng 0.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0