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

Đếm dãy con tốt

Đề bài

Mô tả

Cho một mảng a1,a2,,an gồm các chữ số từ 0 đến 9.

Một dãy con liên tiếp al,al+1,,ar được gọi là tốt nếu tổng các phần tử của nó bằng đúng độ dài của nó:

i=lrai=rl+1.

Hãy đếm số dãy con liên tiếp tốt của mảng a.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t , số lượng truy vấn.
  • Mỗi truy vấn gồm hai dòng:
    • Dòng thứ nhất chứa số nguyên n , độ dài mảng.
    • Dòng thứ hai chứa một xâu gồm n chữ số thập phân, chữ số thứ i là giá trị của ai.

Dữ liệu ra

Với mỗi truy vấn, in ra một dòng chứa số dãy con liên tiếp tốt của mảng tương ứng.

Ràng buộc

  • 1t1000
  • 1n105
  • Tổng n trên tất cả các truy vấn không vượt quá 105.

Ví dụ

Input Output Giải thích
3
3
120
5
11011
6
600005
3
6
1
Với a=[1,2,0] có 3 dãy con tốt: [1], [2,0][1,2,0].
Với a=[1,1,0,1,1] có 6 dãy con tốt: các vị trí 1, 2, [1,1] (vị trí 1..2), 4, 5[1,1] (vị trí 4..5).
Với a=[6,0,0,0,0,5] chỉ có 1 dãy con tốt: [0,0,0,0,5] (vị trí 2..6, độ dài 5, tổng 5).
1
4
1211
4 Với a=[1,2,1,1]: các dãy con tốt là [1] (vị trí 1), [1] (vị trí 3), [1] (vị trí 4), và [1,1] (vị trí 3..4). Lưu ý [2,1,1] có tổng 4 nhưng độ dài 3 nên không tốt.

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