Thầy P đã chuẩn bị ~N~ gói kẹo để thưởng cho 3 bạn đạt kết quả cao nhất trong cuộc thi này. Gói kẹo thứ ~i~ có ~A_i~ viên kẹo. 3 bạn này mỗi người sẽ được chọn ngẫu nhiên một gói kẹo. Sau khi nhận xong kẹo xong, 3 bạn này chắc chắn sẽ gộp 3 gói kẹo mà mỗi người nhận được và mời tất cả các bạn khác cùng liên hoan. Phần N - 3 gói kẹo còn lại thì để dành cho các thầy cô trưởng đoàn.
Vì các bạn học sinh rất thích kẹo (nhất là miễn phí nữa) nên dự tính cần ít nhất ~X~ cái kẹo thì mới thỏa mãn được tinh thần ăn uống của các bạn. Bạn hãy tính xem có bao nhiêu cách bốc kẹo của 3 bạn đứng đầu mà thỏa mãn được tinh thần ăn uống của tất cả các bạn.
Hai cách bốc được coi là khác nhau nếu có ít nhất một bạn bốc hai gói khác nhau. Ví dụ 3 bạn bốc các gói kẹo ~{4, 7, 8}~ khác với ~{4, 7, 9}~ hay ~{7,8,4}~ ...
Dữ liệu vào từ file CANDY.INP:
• Dòng đầu tiên ghi hai số nguyên dương ~N~, ~X~
• Dòng thứ hai ghi ~N~ số nguyên dương ~A_i~
Kết quả in ra file CANDY.OUT:
• Ghi ra một số duy nhất là số cách bốc kẹo thỏa mãn.
Ví dụ 1:
CANDY.INP
5 300
100 100 100 100 100
CANDY.OUT
60
Giải thích: Mọi cách bốc đều thỏa mãn, đáp số là chỉnh hợp chập 3 của 5.
Ví dụ 2:
CANDY.INP
5 301
100 100 100 100 100
CANDY.OUT
0
Giải thích: Không có cách bốc thỏa mãn
Giới hạn:
Trong tất cả các subtask, dữ liệu thỏa mãn ~1 ≤ N ≤ 5000~, ~1≤A_i≤10^9~, ~1<X<10^{12}~</p>
• Subtask 1 [10% số điểm]: ~N < 200~
• Subtask 2 [30% số điểm]: ~N < 1000~, ~1≤ A_i ≤1000~
• Subtask 3 [30% số điểm]: ~N ≤ 2000~
• Subtask 4 [30% số điểm]: ~N ≤ 5000~
Bình luận