Trong một vũ trụ của các con số, bạn nhận được một nhiệm vụ "bí mật" liên quan đến dãy số nguyên ~A~ gồm ~N~ phần tử và một "mật mã" đặc biệt là số nguyên ~S~ (với giá trị tuyệt đối của ~S~ không vượt quá ~10^6~). Nhiệm vụ của bạn là khám phá và đếm ra tất cả các dãy con liên tiếp trong ~A~ sao cho tổng của chúng, tính theo công thức ~A_i + A_{i+1} + ... + A_j~ với ~i ≤ j~, lại khớp hoàn hảo với giá trị ~S~.
Với kích thước của dãy số có thể lên đến ~N ≤ 10^5~, đây thực sự là một thử thách đòi hỏi kỹ năng tối ưu hóa và phân tích. Bạn cần nhanh trí tìm ra các chuỗi liên tiếp có tổng bằng "mật mã" ~S~ trong một không gian số rất rộng. Mỗi dãy con được xem như một "mảnh ghép" của bức tranh tổng thể và nhiệm vụ của bạn là tìm ra tất cả những mảnh ghép đó.
Input
- Dòng ~1~: Gồm hai số nguyên ~N~ và ~S~ (với ~N ≤ 10^5~).
- Dòng ~2~: Gồm ~N~ số nguyên ~A_1, A_2, ..., A_N~ (với |~A_i~| ≤ ~10^6~).
Output
- Một số duy nhất là đáp án của bài toán, tức là số lượng dãy con liên tiếp có tổng chính xác bằng ~S~.
Sample Input
5 2
0 0 1 1 0
Sample Output
6
Note
Các dãy con liên tiếp có tổng bằng ~S~ được tìm thấy là:
0 0 1 1 0
0 0 1 1
0 1 1 0
0 1 1
1 1 0
1 1
Bình luận