Dãy con
Xem dạng PDFMô tả và yêu cầu
Mỗi dãy con được gọi là dãy con liên tiếp nếu dãy con đó có dạng 𝑎𝑖, 𝑎𝑖+1, 𝑎𝑖+2, … ,𝑎𝑗
với 1 ≤ 𝑖 ≤ 𝑗 ≤ 𝑛, 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 𝑎1, 𝑎2, … ,𝑎𝑛 và hai số nguyên dương 𝑝, 𝑞. 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 𝑝 và
nhỏ hơn hoặc bằng 𝑞.
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 từ thiết bị nhập chuẩn gồm hai dòng:
Dòng đầu ghi ba số nguyên 𝑛, 𝑝, 𝑞 (1 ≤ 𝑛 ≤ 105; 1 ≤ 𝑝, 𝑞 ≤ 1018, 𝑝 < 𝑞);
Dòng thứ hai ghi n số nguyên 𝑎1, 𝑎2, … ,𝑎𝑛 (1 ≤ 𝑎𝑖 ≤ 1000, 𝑖 = 1, 2, … ,𝑛);
Kết quả ra: Ghi ra thiết bị xuất chuẩn 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 𝑝 và nhỏ hơn hoặc bằng 𝑞.
Ví dụ
INPUT OUTPUT Giải thích
1 1 2 1 Từ test ví dụ 2: Ta có các dãy con
1 thỏa mãn là: (3, 2); (2, 4); (4, 2);
6 5 10 9 (3, 2, 4); (2, 4, 2); (4, 2, 1); (2, 1,
3 2 4 2 1 2 2); (2, 4, 2, 1); (4, 2, 1, 2).
12 20 35 19 Vậy kết quả 9 dãy con.
5 4 6 4 3 4 11 2 14 5 9 3
Ràng buộc:
Có 40% số test tương ứng 40% số điểm có 1 < 𝑛 ≤ 100, 𝑞 ≤ 109;
Có 40% số test tương ứng 40% số điểm có 100 < 𝑛 ≤ 5000, 𝑞 ≤ 109;
Có 20% số test tương ứng 20% số điểm thỏa 5000 < 𝑛 ≤ 105, 𝑞 ≤ 1018;
Bình luận