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
    kovaodcLQD2025 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ỉ


    • -4
      vanphukhang_0604 8:44 p.m. 18 Tháng 8, 2023 chỉnh sửa 3

      CSES - Coding Company | Công ty lập trì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ì vậy, tiền phạt cho việc lập một đội là hiệu giữa trình độ kĩ năng của lập trình viên giỏi nhất và trình độ kĩ năng của lập trình viên tệ nhất.

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

      Input

      • Dòng đầu tiên chứa hai số nguyên \(n \ (1 \leq n \leq 100)\)\(x \ (0 \leq x \leq 5000)\): tổng số lập trình viên và tổng tiền 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 \ (0 \leq t_i \leq 100)\): trình độ kĩ năng của mỗi lập trình viên.

      Output

      • In ra một số nguyên là số cách chia các nhóm hợp lệ sau khi chia lấy dư cho \(10^9 + 7\).

      Example

      Test 1

      Input
      3 2
      2 5 3
      Output
      3