شیفت در کوئرا


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

یک رشته از حروف کوچک انگلیسی به نام s=s1s2sns = s_1s_2\dots s_n \, داریم.

منظور از یک «شیفت ss» یعنی انتقال دادن kk حرف اول این رشته به آخر آن. (1kn 1 \leq k \leq n \,)

به عبارت دیگر یک شیفت ss، یک رشته به صورت زیر است:‌ sk+1sns1s2sks_{k + 1} \dots s_n s_1 s_2 \dots s_k

حال از شما می‌خواهیم با داشتن رشته ss، رشته‌ای از این nn شیفت را پیدا کنید که در ترتیب الفبایی کمینه باشد.

در ترتیب الفبایی، رشته aa از رشته bb کمتر است اگر اولین کاراکتر aa که با bb فرق دارد، در ترتیب الفبای انگلیسی زودتر آمده باشد.

ورودی🔗

در تنها سطر ورودی یک رشته از حروف کوچک انگلیسی مثل ss آمده است. 1s1000001 \leq |s| \leq 100 \, 000 منظور از s|s| طول رشته ss است.

خروجی🔗

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

مثال🔗

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

nima
Plain text

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

anim
Plain text

شیفت‌های nima عبارت است از iman، mani، anim و nima که رشته‌ای که در ترتیب الفبایی بین این ۴ رشته کوچک‌ترین است anim خواهد بود.

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

acabd
Plain text

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

abdac
Plain text

شیفت‌های acabd عبارت است از cabda، abdac، bdaca، dacab و acabd است که رشته‌ای که در ترتیب الفبایی بین این ۵ رشته کوچک‌ترین است abdac خواهد بود.

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