Đếm đoạn con tổng 0

Xem dưới dạng PDF

Gửi bài giải


Điểm: 30
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Kiểu bài tập

Cho mảng A gồm N số nguyên. Hãy đếm số lượng đoạn con liên tiếp có tổng bằng 0.

Sử dụng prefix sum kết hợp hash map: tính tổng tiền tố pref[i] = A[0] + ... + A[i-1]. Hai tổng tiền tố bằng nhau (\(pref[l] = pref[r]\)) nghĩa là đoạn (l, r-1] có tổng bằng 0. Dùng hash map đếm số lần xuất hiện của mỗi giá trị prefix.

Đầu vào
  • Dòng đầu tiên chứa số nguyên N (\(1 \le N \le 10^5\)).
  • Dòng thứ hai chứa N số nguyên \(A_i\) (\(-10^9 \le A_i \le 10^9\)).
Đầu ra

Một số nguyên duy nhất là số lượng đoạn con có tổng bằng 0.

Ví dụ
Input:
6
1 -1 2 -2 3 -3

Output:
6

Ràng buộc & Subtasks

Subtask Điểm Ràng buộc
1 40% Giới hạn nhỏ
2 60% Không có ràng buộc gì thêm

Nhận xét

Không có ý kiến tại thời điểm này.