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

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

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

موفق باشید 😉✌

هتل کانتینِنتال - Python


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

در شهر کانتیننتال، هتلی وجود دارد که به ریاست پیکلوویچ، همه خلافکار‌ها و آدم‌های خطرناک در آن ساکن هستند به طوری که اگر کسی بخواهد به آن وارد شود، اسم خود را به نگهبان داده و نگهبان با بررسی فراوان در لیست خود، به او اجازه ورود می‌دهد.

هیچ‌کس جرئت نزدیک شدن به این هتل را نداشت تا اینکه یک گروه به سرکردگی الکس تصمیم گرفتند به این هتل نفوذ کنند. افراد الکس تصمیم گرفتند که اسم‌های خود را رمز کنند به صورتی که بین آن حروف اضافه‌تری قرار بدهند اما از شانس بد الکس، خلافکار‌ها این موضوع را متوجه شده‌اند و در تلاش‌اند که اسم رمزنگاری نشده این گروه را پیدا کنند.

آن‌ها این کار را به این صورت در نظر می‌گیرند که از اسم رمزگذاری شده، زیررشته‌هایی به اندازه اسم واقعی می‌سازند و ارزش آن را محاسبه می‌کنند. ارزش هر زیر رشته برابر است با مجموع تکرار حروف آن. هرکدام که ارزش بالاتری داشت به احتمال بیشتری اسم واقعی است و آن‌ها به دنبال آن هستند. توجه کنید که به طرز عجیبی اسم واقعی افراد الکس حروف تکراری ندارد!

برنامه‌ای بنویسید که به خلافکارها کمک کند تا اسم نفوذی را پیدا کنند =)))))

ورودی🔗

ورودی شامل دو خط است که در خط اول اسم رمزنگاری شده به حروف کوچک انگلیسی (s) و در خط دوم طول اسم واقعی (n) می آید. 1s.length21051 \le s.length \le 2 * 10^5 1ns.length1 \le n \le s.length

خروجی🔗

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

از آنجایی که جواب ممکن است خیلی بزرگ باشد باقی‌مانده آن را به 109+710^9 + 7 محاسبه کنید.

مثال🔗

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

seas
2
Plain text

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

4
Plain text

در این نمونه ارزش هر زیر رشته به صورت زیر محاسبه می‌شود:

  • f('s') = 2, f('e') = 1, f('a') = 1
  • seas => f('s') + f('e') = 3
  • seas => f('s') + f('a') = 3
  • seas=> f('e') + f('a') = 2
  • seas => f('e') + f('s') = 3
  • seas => f('a') + f('s') = 3

که در این نمونه بزرگترین ارزش برابر با ۳ است و تعداد زیررشته‌ها با این اندازه ۴ می‌باشد.

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

leech
4
Plain text

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

2
Plain text

در این نمونه ارزش هر زیر رشته به صورت زیر محاسبه می‌شود:

  • f('l') = 1, f('e') = 2, f('c') = 1, f('h') = 1
  • leech => f('l') + f('e') + f('c') + f('h') = 5
  • leech => f('l') + f('e') + f('c') + f('h') = 5

که در این نمونه بزرگترین ارزش برابر با ۵ است و تعداد زیررشته‌ها با این اندازه ۲ می‌باشد.

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