SUBSEQ20
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 \(U, V\).
Mỗi dãy \(a_i,a_(i+1),a_(i+2),...,a_j\) với \(1≤i≤j≤n\) được gọi là dãy con liên tiếp của dãy đã cho.
Yêu cầu: Hãy lập trình đế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 \(U\) và nhỏ hơn hoặc bằng \(V\).
Dữ liệu vào:
Dòng đầu chứa ba số nguyên \(n, U, V(1≤n≤10^5;1≤ U, V ≤10^{18}, U<V);\)
Dòng thứ hai chứa \(n\) số nguyên \(a_1,a_2,...,a_n (1≤a_i≤1000,i=1,2,...,n).\)
Kết quả:
- Ghi 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 \(U\) và nhỏ hơn hoặc bằng \(V\).
Ràng buộc:
Có 40% số test của bài thỏa mãn: \(1<n≤100, V≤10^9;\)
Có 40% số test khác của bài thỏa mãn: \(100<n≤5000, V≤10^9;\)
Có 20% số test còn lại của bài thỏa mãn: \(5000<n≤100000, V≤10^18.\)
Sample Input
6 5 10
3 2 4 2 1 2
Sample Output
9
Sample Input
10 20 30
3 2 4 2 1 2 9 12 3 7
Sample Output
12
Giải thích: Test 1: 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.
Comments