Điều hướng chính

Nhắn tin NQ Coding

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập cpbsubarrmapb

Cpbsubarr Map

Dễ Heap, Set, Map, ...

  • 100p Điểm
  • 1.0s Thời gian
  • 256M Bộ nhớ
  • 100% Tỉ lệ AC
  • 1 Số AC

Cho dãy \(A\) gồm \(n\) số nguyên \(a_1,a_2,\ldots,a_n\).

Một đoạn con \([l,r]\) \((1 \le l \le r \le n)\) được gọi là tốt nếu tổng các phần tử trong đoạn đó bằng số lượng phần tử của đoạn.

Yêu cầu: Hãy đếm xem trong dãy \(A\) có bao nhiêu đoạn con khác rỗng là tốt.

Input

Dòng đầu chứa số nguyên \(n\) \((1 \le n \le 2\cdot 10^5)\).

Dòng thứ hai chứa \(n\) số nguyên \(a_1,a_2,\ldots,a_n\) \((0 \le a_i \le 9)\).

Output

In ra một số nguyên duy nhất là số lượng đoạn con tốt.

Subtasks

  • Subtask 1 (20 points): \(1 \le n \le 2000\).
  • Subtask 2 (30 points): \(1 \le n \le 2\cdot 10^5\), \(0 \le a_i \le 1\).
  • Subtask 3 (50 points): Không có ràng buộc thêm.

Sample Input 1

5
1 1 0 1 1

Sample Output 1

6

Sample Input 2

6
6 0 0 0 0 5

Sample Output 2

1

Bình luận

Chưa có bình luận nào.