CSES - Coding Company | Công ty coding

Xem PDF

Điểm: 2400 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Công ty của bạn có \(n\) lập trình viên và mỗi người trong số họ có trình độ kĩ năng từ \(0\) đến \(100\). Nhiệm vụ của bạn là chia các lập trình viên thành các nhóm làm việc cùng nhau.

Dựa trên kinh nghiệm của mình, bạn biết rằng các nhóm làm việc tốt khi trình độ kĩ năng của các lập trình viên là như nhau. Vì lí do này, hình phạt cho việc tạo ra một đội là sự khác biệt về trình độ kĩ năng giữa lập trình viên giỏi nhất và xấu nhất.

Bạn có thể chia các lập trình viên thành các đội sao cho tổng số tiền phạt nhiều nhất là \(x\) bằng bao nhiêu cách?

Input

  • Dòng đầu vào đầu tiên chứa hai số nguyên \(n\)\(x\): số lượng lập trình viên và tổng hình phạt tối đa cho phép.
  • Dòng tiếp theo chứa \(n\) số nguyên \(t_1, t_2, \ldots, t_n\): trình độ kĩ năng của mỗi lập trình viên.

Output

  • In một số nguyên: số phép chia hợp lệ chia lấy dư cho \(10 ^ 9 + 7\).

Constraints

  • \(1 \leq n \leq 100\)
  • \(0 \leq x \leq 5000\)
  • \(0 \leq t_i \leq 100\)

Example

Test 1

Input
3 2  
2 5 3
Output
3

Bình luận


  • 0
    Alya    9:30 p.m. 6 Tháng 9, 2023 đã chỉnh sửa

    Phải là "Dựa trên kinh nghiệm của mình, bạn biết rằng các nhóm làm việc tốt khi trình độ kĩ năng của các lập trình viên là như nhau. Vì lí do này, hình phạt cho việc tạo ra một đội là sự khác biệt về trình độ kĩ năng giữa lập trình viên giỏi nhất và tệ nhất." chứ nhỉ

    • 3 bình luận nữa