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

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.