Gửi bài giải
Điểm:
16,00 (OI)
Giới hạn thời gian:
4.0s
Giới hạn bộ nhớ:
1G
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Ta định nghĩa trọng số của một dãy ~b_1, b_2, ..., b_k~, ký hiệu là ~W(b)~, theo công thức sau:
$$W(b) = (b_1 + b_2 + \dots + b_k) \mod m$$
Xét một dãy số nguyên dương ~a_1, a_2, ..., a_n~. Đếm số dãy con ~b~ có độ dài ~k~ của ~a~ có ~W(b) = x~.
Nhắc lại, một dãy ~b~ được gọi là dãy con của một dãy ~a~ khi và chỉ khi tồn tại một cách xóa một số phần tử của ~a~ và giữ nguyên thứ tự các phần tử còn lại để tạo thành dãy ~b~.
Dữ liệu
- Dòng đầu tiên gồm bốn số nguyên dương ~n, k, m, x~ ~(1 \le n \le 800, 1 \le k \le 6, 0 \le x < m \le 2 \times 10^7)~.
- Dòng tiếp theo gồm ~n~ số nguyên dương ~a_1, a_2, ..., a_n~ ~(0 \le a_i \le 10^9)~.
Kết quả
- Một dòng duy nhất gồm số dãy con thỏa mãn.
Subtask
Điểm | Ràng buộc bổ sung |
---|---|
~10~ | ~k = 1~ |
~10~ | ~k = 2~ |
~10~ | ~k = 3~ |
~10~ | ~k \le 3~ |
~15~ | ~k = 4~ |
~15~ | ~k = 5~ |
~15~ | ~m \le 10^4~ |
~15~ | Không có giới hạn gì thêm |
Ví dụ
Ví dụ 1
Dữ liệu
5 2 2 0
1 2 3 4 5
Kết quả
4
Giải thích
- Các dãy con thỏa mãn là: ~(1, 3), (3, 5), (1, 5), (2, 4)~.
Ví dụ 2
Dữ liệu
5 3 2 1
1 2 3 4 5
Kết quả
4
Bình luận