Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, Python
Cho dãy số ~A~ có ~n~ số nguyên ~a_1, a_2, ..., a_n~. Một dãy con liên tiếp các số hạng của dãy ~A~ là dãy các số hạng từ số hạng ~a_i~ đến số hạng ~a_j~ ~(1 \le i \le j \le n)~.
Yêu cầu
Hãy cho biết dãy ~A~ có bao nhiêu dãy con liên tiếp mà giá trị tuyệt đối của tổng các số hạng trong dãy con đó lớn hơn một số nguyên dương ~S~ cho trước.
Dữ liệu đầu vào
Gồm hai dòng:
- Dòng thứ nhất chứa hai số nguyên dương ~n~ và ~S~ ~(n \le 10^5,\ S \le 10^{14})~;
- Dòng thứ hai chứa ~n~ số nguyên ~a_1, a_2, ..., a_n~ ~(|a_i| \le 10^9)~. Hai số liên tiếp trên cùng dòng được ghi cách nhau bởi dấu cách.
Dữ liệu đầu ra
Gồm một số nguyên duy nhất là số dãy con liên tiếp thỏa mãn yêu cầu của bài toán.
Ràng buộc dữ liệu
- Có 50% số test ứng với 50% số điểm của bài có ~n \le 100~;
- Có 30% test khác ứng với 30% số điểm của bài có ~n \le 10^3~;
- Có 20% test còn lại ứng với 20% số điểm của bài có ~n \le 10^5~.
Ví dụ
Ví dụ 1
INPUT
4 4
5 -1 8 -5
OUTPUT
6
Giải thích: Có ~6~ dãy con thỏa mãn yêu cầu là: ~\{5\}, \{8\}, \{-5\}, \{-1; 8\}, \{5; -1; 8\}, \{5; -1; 8; -5\}~.
Ví dụ 2
INPUT
10 7
-4 9 2 -11 -3 8 -6 5 -3 1
OUTPUT
12
Bình luận