Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Sưu tập tiền xu

Dễ

  • 100 Điểm
  • 0% Tỉ lệ AC
  • 0 Số AC
  • 256M Bộ nhớ giới hạn
  • 1.0s Giới hạn thời gian

Nam có một bộ sưu tập \(N\) đồng tiền có giá trị \(T_1, T_2, \dots, T_N\). Anh ta muốn chọn ra một tập con các đồng tiền sao cho tổng giá trị của chúng chia hết cho một số \(K\) cho trước. Hãy sử dụng đệ quy để đếm số lượng tập con khác nhau thỏa mãn điều kiện này.

Định nghĩa tập con.
Giả sử \(A = \{1,2,\ldots,N\}\) là tập chỉ số các đồng tiền.
Một tập con \(B\) của \(A\) có thể được viết dưới dạng
$
B = { i_1, i_2, \ldots, i_k }, \; 1 \le i_1 < i_2 < \cdots < i_k \le N.
$
Hai tập con được coi là khác nhau nếu chúng khác nhau về ít nhất một chỉ số.
Tập tất cả các tập con của \(A\) được gọi là lũy thừa của \(A\), ký hiệu \(\mathcal{P}(A)\).
Số lượng tập con của \(A\) là \(2^N\).

Input

  • Dòng đầu tiên chứa hai số nguyên \(N\) và \(K\) (\(1 \leq N \leq 20\), \(1 \leq K \leq 100\)).
  • Dòng thứ hai chứa \(N\) số nguyên \(T_1, T_2, \dots, T_N\) (\(1 \leq T_i \leq 10^5\)).

Output

Một số nguyên duy nhất là số lượng tập con có tổng giá trị chia hết cho \(K\).

Example

Test 1

Input
5 3
2 4 3 4 5
Output
So luong tap con co tong chia het cho 3: 12

Bình luận

Chưa có bình luận nào.