2047: Набір монет

Перегляд у форматі PDF

Надіслати розв'язок

Бали: 16,00 (partial)
Time limit: 1.0s
Memory limit: 256M
Input: stdin
Output: stdout

Problem type

Розглянемо грошову систему, що складається з ~n~ монет. Кожна монета має вартість - додатне ціле число.

Ваше завдання полягає в тому, щоб обчислити кількість різних способів отримання грошової суми ~x~, використовуючи доступні монети.

Наприклад, якщо монети {2,3,5}, а бажана сума дорівнює 9, є 8 способів:

  • 2+2+5
  • 2+5+2
  • 5+2+2
  • 3+3+3
  • 2+2+2+3
  • 2+2+3+2
  • 2+3+2+2
  • 3+2+2+2

Обмеження

  • ~1 \le n \le 100~
  • ~1 \le x \le 10^6~
  • ~1 \le c_i \le 10^6~

Формат вхідних даних

У першому рядку вводу є два цілих числа ~n~ і ~x~: кількість монет і бажана сума грошей.

У другому рядку є ~n~ різних цілих чисел ~c_1,c_2,\dots,c_n~: вартість кожної монети.

Формат вихідних даних

Виведіть одне ціле число: кількість шляхів за модулем ~10^9+7~.

Приклад вхідних даних

3 9
2 3 5

Приклад вихідних даних

8

Коментарі

Please read the guidelines before commenting.


Ще немає коментарів.