بسته‌بندی


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

احمد nn شیء و mm جعبه دارد که هر جعبه اندازه‌اش برابر kk است. اشیاء به ترتیب از چپ به راست با ١ تا nn شماره گذاری شده‌اند و اندازه‌ی شیء iiام برابر aia_i است.

با احمد می‌خواهد اشیاء را درون جعبه‌ها قرار دهد و برای این کار الگوریتم زیر را اجرا می‌کند:

ابتدا یک جعبه‌ی خالی در دستش می‌گیرد و یک عدد 1jn1 \leq j \leq n انتخاب می‌کند. سپس از شیء jjام شروع می‌کند و آن را در جعبه‌ی فعلی قرار می‌دهد و به سراغ شیء j+1j + 1ام می‌رود. حال اگر شیء j+1j + 1ام در جعبه‌ی فعلی بتواند قرار بگیرد، آن را در جعبه ی فعلی قرار می‌دهد. در غیر این صورت، جعبه‌ی فعلی را بسته بندی کرده و کنار می‌گذارد و جعبه‌ی خالی دیگری را برمی دارد تا شیء j+1j + 1ام را در آن قرار دهد. او این کار را تا زمانی تکرار می‌کند که شیء nnام در جعبه‌ای قرار بگیرد و یا جعبه‌هایش تمام شود. سپس الگوریتم پایان می‌یابد. احمد می‌خواهد حتماً تمام شیءهای jj تا nn را در جعبه‌ای قرار داده باشد. بنابراین اگر هنگام قرار دادن یک شیء، آن شیء را نتواند در جعبه‌ی فعلی‌اش قرار دهد و جعبه‌های خالی‌اش نیز تمام شده باشند، به هدفش نرسیده است.

به احمد کمک کنید عدد jj را طوری انتخاب کند که بیش ترین تعداد شیء را بتواند در جعبه‌ها قرار دهد و تمام اشیاء از jj تا nn درون جعبه‌ها قرار گرفته باشند.

ورودی🔗

در خط اول ورودی به ترتیب سه عدد صحیح nn و mm و kk آمده اند که تعداد اشیاء، تعداد جعبه‌ها و اندازه‌ی جعبه‌ها را نشان می‌دهند.

1n,m2×1051 \leq n, m \leq 2 \times 10^5 1k1091 \leq k \leq 10^9

در خط بعدی، nn عدد a1,a2,,ana_1, a_2, \dots, a_n\, آمده اند که aia_i نمایانگر اندازه‌ی شیء iiام است.

1aik1 \leq a_i \leq k

خروجی🔗

در تنها خط خروجی، بیش ترین تعداد شیء هایی که احمد می‌تواند طبق الگوریتم گفته شده در جعبه‌ها قرار دهد چاپ کنید.

مثال‌ها🔗

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

5 2 6
5 2 1 4 2
Plain text

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

4
Plain text

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

5 1 4
4 2 3 4 1
Plain text

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

1
Plain text