Cho dãy số nguyên \(a\) gồm \(n\) phần tử, các số được đánh số từ \(1\) đến \(n\).
Tổng các phần tử liên tiếp của đoạn \(a[l..r]\) trong dãy (kí hiệu \(Sum(l, r)\), trong đó \(1 \le l \le r \le n\)) được tính như sau: \(Sum(l, r) = a_l + a_{l+1} + \cdots + a_r\).
Yêu cầu: Đếm số lượng đoạn \(a[l..r]\) thỏa mãn \(Sum(l, r) = K\).
Input
- Dòng đầu ghi hai số nguyên \(n, K\) (\(1 \le n \le 2 \cdot 10^5\), \(|K| \le 10^9\)).
- Dòng thứ hai ghi \(n\) số nguyên \(a_1, a_2, \ldots, a_n\) (\(|a_i| \le 10^9\)).
Các số cách nhau một dấu cách.
Output
Gồm một số duy nhất là số lượng đoạn đếm được.
Scoring
- Có \(50\%\) số điểm với \(1 \le n \le 2000\).
- Có \(50\%\) số điểm với \(2000 < n \le 2 \cdot 10^5\).
Sample Input 1
6 0
4 5 -9 4 -3 1
Sample Output 1
2
Notes
Các đoạn thỏa mãn: \([4, 5, -9]\) và \([5, -9, 4]\).
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.