#720. Tổ hợp xu II (Mã bài: COINCOM2)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Bạn có một tập hợp gồm n mệnh giá tiền xu: c_1, c_2, \ldots, c_n . Bạn có thể sử dụng mỗi mệnh giá không giới hạn số lần. Ví dụ, nếu các mệnh giá là \{2, 3, 5\} và tổng mục tiêu là 9 , có 3 cách để tạo ra tổng này:

  • 2+2+5
  • 3+3+3
  • 2+2+2+3 (thứ tự không quan trọng nên đây giống với 2+3+2+2 ...)

Nhiệm vụ của bạn là tính số cách khác nhau để tạo ra tổng tiền x . Trong bài toán này, thứ tự của các đồng xu không quan trọng, ví dụ 2+2+5 2+5+2 được coi là cùng một cách.

Yêu cầu: Hãy tính số cách, theo modulo 10^9+7 .

Dữ liệu:

  • Dòng đầu tiên chứa hai số nguyên n x : số lượng mệnh giá và tổng tiền mục tiêu.
  • Dòng thứ hai chứa n số nguyên c_1, c_2, \ldots, c_n : các mệnh giá tiền xu.

Kết quả: In ra số cách, theo modulo 10^9+7 .

Ví dụ:

Dữ liệu:

3 9
2 3 5

Kết quả:

3

Giải thích: Các cách là: 2+2+5 3+3+3 2+2+2+3 (thứ tự không quan trọng nên đây giống với 2+3+2+2 ...)

Giới hạn: 1 \le n \le 100 , 1 \le x \le 10^6 , 1 \le c_i \le 10^6