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

در طول مسابقه، می‌توانید سؤالات خود را از قسمت «سؤال بپرسید» مطرح کنید.

ارسال راه‌حل فقط با زبان C# امکان پذیر است.

پیشنهاد می‌کنیم همه سوالات را بخوانید، چون ترتیب سختی سوالات تصادفی است.

عدالت یا برابری


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

برای دیدن یک بازی فوتبال nn نفر پشت دیوار استادیوم صف کشیده‌اند. ارتفاع قد نفر iiام در این صف hih_i است.

برای اینکه همه‌ی این افراد بتوانند نمای بهتری از زمین بازی داشته باشند، می‌خواهیم تعدادی جعبه زیر پای این افراد قرار دهیم تا ارتفاعی که روی آن قرار می‌گیرند بیشتر شود.

هر جعبه باعث می‌شود که ارتفاع قد یک نفر ۱ واحد افزایش پیدا کند.

زمانی می‌گوییم عدالت برقرار شده که ارتفاعی که هر دو نفر دارند بازی را تماشا می‌کنند حداکثر dd واحد اختلاف داشته باشد.

از شما می‌خواهیم برنامه‌ای بنویسید که کمترین تعداد جعبه را مشخص کند که با کمک آن می‌توانیم عدالت را برقرار کنیم.

ورودی🔗

در سطر اول ورودی، دو عدد صحیح و مثبت nn و dd که با یک فاصله از هم جدا شده‌اند، آمده است.

1n500000,0d1091 \leq n \leq 500 \, 000, \quad\quad 0 \leq d \leq 10^9

در nn سطر بعدی، اعداد صحیح h1,h2,,hnh_1, h_2, \dots, h_n\, که با یک فاصله از هم جدا شده‌اند آمده است.

1hi1091 \leq h_i \leq 10^9

خروجی🔗

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

مثال‌ها🔗

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

3 1
1 2 8
Plain text

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

11
Plain text

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

4 0
1 5 3 6
Plain text

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

9
Plain text

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

1 3
5
Plain text

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

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