Gửi bài giải
Điểm:
0,50 (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, Kotlin, Pascal, PyPy, Python, Scratch
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_{i+2}, ..., 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.
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_n~ (~1 \leq a_i \leq 1000, i = 1, 2, ..., n~);
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~.
Ví dụ:
Input 1
1 2 1
1
Output 1
1
Input 2
6 5 10
3 2 4 2 1 2
Ouput 2
9
Input 3
12 20 35
5 4 6 4 3 4 11 2 14 5 9 3
Output 3
19
Giải thích
Từ test ví dụ 2: Ta có các dãy con thỏa mãn là: (3, 2); (2, 4); (4, 2); (3, 2, 4); (2, 4, 2); (4, 2, 1); (2, 1, 2); (2, 4, 2, 1); (4, 2, 1, 2). Vậy kết quả 9 dãy con.
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