سلام دوست عزیز😃👋

به مسابقه «کدکاپ ۸ - دست‌گرمی» خوش آمدی!

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

این مسابقه هیچ تاثیری در رقابت‌های کدکاپ ندارد و صرفاً برای دست‌گرمی شما است.

موفق باشید و بهتون خوش بگذره 😉✌

جمع براکت‌ها


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

به شما عدد صحیح nn و عدد اعشاری xx داده می‌شود. از شما می‌خواهیم برنامه‌ای بنویسید تا حاصل عبارت زیر را محاسبه کند.

[x]+[x+1n]+[x+2n]++[x+n1n]\left[x\right] + \left[x + \frac{1}{n}\right] + \left[x + \frac{2}{n}\right] + \dots + \left[x + \frac{n-1}{n}\right]

که در این‌جا [x]\left[x\right] به معنای براکت xx است و مقدار آن بزرگ‌ترین عدد صحیح کم‌‌تر یا مساوی xx است.

ورودی🔗

در سطر اول تعداد سناریوها داده می‌شود. 1t1001 \leq t \leq 100

در سطر اول هر سناریو، عدد صحیح و مثبت nn داده می‌شود. 1n1091 \leq n \leq 10^9

در سطر دوم هر سناریو، عدد اعشاری xx داده می‌شود. 100<x<100-100 \lt x \lt 100

عدد اعشاری xx دقیقاً با دقت حداکثر ۷ رقم بعد از اعشار داده می‌شود.

خروجی🔗

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

مثال‌ها🔗

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

3
2
7.1561
3
2.71
1
3.14
Plain text

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

14
8
3
Plain text

سناریو اول. [7.1561]+[7.1561+0.5]=7+7=14[7.1561] + [7.1561 + 0.5] = 7 + 7 = 14

سناریو دوم. [2.71]+[2.71+0.333...]+[2.71+0.666...]=2+3+3=8[2.71] + [2.71 + 0.333...] + [2.71 + 0.666...] = 2 + 3 + 3 = 8

سناریو سوم. [3.14]=3[3.14] = 3

راهنمایی اول

توجه کنید مقدار هر براکت [x][x] یا [x]+1[x] + 1 است.

راهنمایی دوم

مقدار nn براکت داده شده، به ترتیب صعودی است. پس می‌توانید با استفاده binary search آخرین براکتی که [x][x] است را پیدا کنید.

راهنمایی سوم

با همان استدلال می‌توان ثابت کرد پاسخ مسئله برابر [nx][nx] است.

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