لینک‌های مفید برای شرکت در مسابقه:

دریچه


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

آرایه aa، شامل اعداد a1,a2,...,an a_1, a_2, ..., a_n\ روی تخته نوشته شده است. در هر گام می‌توانیم یکی از دو عملیات زیر را انجام دهیم.

  • یک عدد xx از روی تخته در نظر بگیریم و تمام اعداد xx روی تخته را با x2\left \lfloor{ \frac {x}{2}}\right \rfloor جایگزین کنیم. (یعنی به جای هر xx روی تخته، x2\left \lfloor{ \frac {x}{2}}\right \rfloor قرار می‌دهیم.‌)
  • یک عدد xx از روی تخته در نظر بگیریم و تمام اعداد xx روی تخته را پاک کنیم.

از عملیات نوع دوم حداکثر kk بار می‌توانیم استفاده کنیم.

کم‌ترین تعداد مرحله برای این که در انتها کلا عددی روی تخته باقی نماند، یا تمامی اعداد باقی مانده برابر با 00 باشد، چه‌قدر است؟

ورودی🔗

ورودی شامل دو خط است که خط اول آن شامل دو عدد n,kn, k است.

در خط دوم nn عدد a1,a2,..,an a_1, a_2, .., a_n\ می‌آید که اعداد اولیه روی تخته را مشخص می‌کند.

1n100 0001 \le n \le 100\ 000 0k100 \le k \le 10 1ai1091 \le a_i \le 10^9

خروجی🔗

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

مثال🔗

ورودی نمونه ۱🔗

5 2
1 2 3 4 5
Plain text

خروجی نمونه ۱🔗

5
Plain text

یکی از روش‌ها این است که ابتدا اعداد 55 و 44 را با عملیات نوع اول به 22 تبدیل کنیم. سپس عدد 33 را به 11 تبدیل کنیم، اعداد روی تخته <1,2,1,2,2><1, 2, 1, 2, 2> خواهند بود. در نهایت عدد 1,21, 2 را پاک کنیم و دنباله تهی می‌شود. در مجموع 55 عملیات انجام شده است.

ورودی نمونه ۲🔗

4 1
1 1 2 3
Plain text

خروجی نمونه ۲🔗

3
Plain text

در یکی از روش‌های بهینه ابتدا عدد 33 را حذف می‌کنیم،‌ سپس 22 را با عملیات اول به 11 تبدیل می‌کنیم و نهایتا همه اعداد 11 را با عملیات اول به صفر تبدیل می‌کنیم.

ورودی نمونه ۳🔗

10 3
10 20 30 40 50 60 70 80 90 100
Plain text

خروجی نمونه ۳🔗

16
Plain text
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.