• محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

در یک انباری \(n\) تکه چوب داریم. طول چوب \(i\)ام برابر \(l_i\) است. حال می‌خواهیم \(k\) تکه از این چوب‌ها را برداریم به طوری که بتوان با آن‌ها یک قاب به شکل \(k\) ضلعی ساخت.

توجه کنید صرفاً انتخاب کردن تکه چوب‌ها یک حالت جدید به وجود می‌آورد و نیازی به چیدن آن‌ها برای اضلاع یک قاب نداریم. همچنین دو تکه چوب با طول برابر را متمایز در نظر بگیرید.

از شما می‌خواهیم تعداد حالت‌های ممکن برای ساختن این قاب را چاپ کنید.

تضمین میشود که مقدار \(k\) کوچکتر مساوی \(n\) است

ورودی

در سطر اول ورودی، به ترتیب دو عدد صحیح و مثبت \(n\) و \(k\) آمده است. \[3 \leq n \leq 60\] \[3 \leq k \leq 8\]

در سطر دوم ورودی، \(n\) عدد صحیح که با یک فاصله از هم جدا شده‌اند و عدد \(i\)ام آن همان \(l_i\) یعنی طول چوب \(i\)ام است. \[1 \leq l_i \leq 60\]

زیرمسئله‌ها

زیرمسئله ‌ محدودیت‌ها امتیاز
۱ \(3 \le k \le 5\) و \(3 \le n \le 20\) ۴۰
۲ بدون محدودیت اضافه ۶۰

خروجی

در تنها سطر خروجی، تعداد روش‌های انتخاب کردن چوب برای ساخت قاب را چاپ کنید.

مثال

ورودی نمونه ۱

5 3
1 1 1 1 1

خروجی نمونه ۱

10

ورودی نمونه ۲

6 4
1 2 4 8 16 32

خروجی نمونه ۲

0

ورودی نمونه ۳

5 5
1 2 3 4 5 

خروجی نمونه ۳

1
ارسال پاسخ برای این سؤال
فایلی انتخاب نشده است.