[RCOJ Educational Contest #01] Đổi tiền 1

Xem dạng PDF

Gửi bài giải

Điểm: 800,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Cho ~k~ loại mệnh giá (đồng) như sau: ~c_1,c_2,...,c_k~. Hỏi có bao nhiêu cách để tạo ra số tiền ~S~ từ các mệnh giá đã cho, mỗi mệnh giá có thể dùng vô số lần?

Input

  • Dòng thứ nhất có hai số tự nhiên ~k,S~ - số lượng mệnh giá và tổng tiền cần đổi.
  • Dòng thứ hai gồm ~k~ số nguyên ~c_1,c_2,...,c_k~ , ~c_i~ (~1 \leq c_i \leq 10^5~) các mệnh giá tiền (mỗi mệnh giá đều khác nhau).

Output

Một số nguyên duy nhất - số cách tạo ra tổng tiền ~S~ lấy modulo cho ~10^9+7~.

Scoring

  • Subtask ~1~ ~(10\%)~: ~S \leq 100, k \leq 5, 1 \leq c_i \leq 1000~;
  • Subtask ~2~ ~(90\%)~: ~S \leq 10^6, k \leq 100, c_i \leq 10^6~.

Example input 1

3 5
1 2 5

Example output 1

4

Note 1

  • Có ~4~ cách để tạo ra tổng ~5~:
    • ~1+1+1+1+1~.
    • ~1+1+1+2~.
    • ~1+2+2~.
    • ~5~.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.