trang chủ / bài tập / nzerosub

Số mảng con tốt

Đề bài

Mô tả

Cho một mảng a gồm n số nguyên.

Một mảng con (subarray) của a là một đoạn liên tiếp các phần tử của a (thu được bằng cách xóa một số phần tử ở đầu và một số phần tử ở cuối, có thể không xóa phần tử nào).

Ta gọi một mảng (khác rỗng) là tốt nếu với mọi mảng con khác rỗng của nó, tổng các phần tử của mảng con đó đều khác 0.

Ví dụ, mảng [1,2,3] là tốt, vì tất cả các mảng con [1], [1,2], [1,2,3], [2], [2,3], [3] đều có tổng khác 0. Trong khi đó, mảng [1,2,1,3] không tốt, vì mảng con [1,2,1] của nó có tổng bằng 0.

Hãy đếm số mảng con khác rỗng tốt của mảng a.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n — độ dài của mảng a.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an.

Dữ liệu ra

  • In ra một số nguyên duy nhất — số mảng con tốt của a.

Ràng buộc

  • 1n2·105
  • 109ai109

Ví dụ

Input Output Giải thích
3
1 2 -3
5 Các mảng con tốt là [1], [1,2], [2], [2,3], [3]. Mảng con [1,2,3] không tốt vì chính nó có tổng bằng 0.
3
41 -41 41
3 Chỉ ba mảng con kích thước 1 là tốt. Mảng [41,41,41] không tốt vì mảng con [41,41] có 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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0