Bài 1: Đàn kiến 2

Nộp bài
Time limit: 1.0 / Memory limit: 1G

Point: 6


Bài 2: Xoay vòng tròn

Nộp bài
Time limit: 1.0 / Memory limit: 1G

Point: 7


Bài 3: Mua sách

Nộp bài
Time limit: 1.0 / Memory limit: 1G

Point: 7


CSES - Minimizing Coins | Số xu nhỏ nhất

Nộp bài
Time limit: 1.0 / Memory limit: 512M

Point: 10

Cho một hệ thống tiền gồm ~n~ loại xu trong đo mỗi loại xu có một giá trị nguyên dương. Nhiệm vụ của bạn là tạo ra tổng ~x~ sao cho số đồng xu sử dụng là ít nhất.

Ví dụ, nếu có các loại xu ~{1, 5, 7}~ và tổng cần tạo là ~11~ thì một giải pháp tối ưu là ~5 + 5 + 1~ sử dụng ~3~ đồng xu.

Input

  • Dòng thứ nhất chứa hai số nguyên ~n~ và ~x~: số đồng xu và tổng cần tạo.
  • Dòng thứ hai chứa ~n~ số nguyên đôi một khác nhau ~c_1, c_2, \ldots, c_n~: giá trị của mỗi loại xu.

Output

  • In ra số đồng xu ít nhất cần sử dụng. Nếu không có cách nào in ra -1.

Constraints

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

Sample Test

Input Output
3 11
1 5 7
3

CSES - Coin Combinations I | Tổ hợp xu 1

Nộp bài
Time limit: 1.0 / Memory limit: 512M

Point: 10

Cho một hệ thống tiền gồm ~n~ loại xu trong đo mỗi loại xu có một giá trị nguyên dương. Nhiệm vụ của bạn là tính số cách khác nhau để tạo ra tổng ~x~ từ những loại xu đã cho.

Ví dụ, nếu có các loại xu ~{2, 3, 5}~ và tổng cần tạo là ~9~ thì có 8 cách:

  • ~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~

Input

  • Dòng thứ nhất chứa hai số nguyên ~n~ và ~x~: số đồng xu và tổng cần tạo.
  • Dòng thứ hai chứa ~n~ số nguyên đôi một khác nhau ~c_1, c_2, \ldots, c_n~: giá trị của mỗi loại xu.

Output

  • In ra số cách lấy xu, lấy phần dư khi chia cho ~10^9 + 7~.

Constraints

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

Sample Test

Input Output
3 9
2 3 5
8