Mỗi dãy con được gọi là dãy con liên tiếp nếu dãy con đó có dạng \(a_i, a_{i + 1}, ..., a_j\) với
\(1 \leq i \leq j \leq n\), là dãy con của dãy \(a\) gồm \(n\) phần tử cho trước.
Cho một dãy gồm \(n\) số nguyên dương \(a_1, a_2, ..., a_n\) và hai số nguyên dương \(p, q\). Người ta
muốn đếm số các dãy con liên tiếp của dãy số đã cho có tổng các số lớn hơn hoặc bằng \(p\) và nhỏ
hơn hoặc bằng \(q\).
Yêu cầu: Hãy lập trình đếm số các dãy con liên tiếp thỏa mãn điều kiện bài toán.
Input
Dữ liệu vào: Cho trong tệp tin văn bản DAYCON.INP gồm hai dòng:
- Dòng đầu ghi ba số nguyên \(n, p, q\) \((1 \leq n \leq 10^5; 1 \leq p, q \leq 10^{18}, p < q)\);
- Dòng thứ hai ghi \(n\) số nguyên \(a_1, a_2, a_3, ..., a_n\) \((1 \leq a_i \leq 1000, i = 1, 2, ..., n);\)
Output
Kết quả ra: Ghi ra tệp tin văn bản DAYCON.OUT gồm một số nguyên là số các dãy con liên
tiếp thỏa mãn có tổng các số lớn hơn hoặc bằng \(p\) và nhỏ hơn hoặc bằng \(q\).
Example
Test 1
Input
1 1 2
1
Output
1
Test 2
Input
6 5 10
3 2 4 2 1 2
Output
9
Test 3
Input
12 20 35
5 4 6 4 3 4 11 2 14 5 9 3
Output
19
Scoring
Ràng buộc:
-
Có \(40\%\) số test tương ứng \(40\%\) số điểm có \(1 < n \leq 100, q \leq 10^9\).
-
Có \(40\%\) số test tương ứng \(40\%\) số điểm có \(100 < n \leq 5000, q \leq 10^9\).
-
Có \(20\%\) số test tương ứng \(20\%\) số điểm thỏa \(5000 < n \leq 10^5, q \leq 10^{18}\);
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.