Submission details
Task:Rotations
Sender:smolse
Submission time:2016-10-23 22:33:41 +0300
Language:Python3
Status:READY
Result:
Test results
testverdicttime
#1--details
#2--details
#3ACCEPTED0.23 sdetails
#4ACCEPTED0.23 sdetails
#5ACCEPTED0.25 sdetails
#6--details
#7--details
#8UNKNOWN--details
#9UNKNOWN--details
#10UNKNOWN--details
#11UNKNOWN--details
#12UNKNOWN--details

Code

import fileinput

with fileinput.input(['-']) as input:
    _string = input.readline().rstrip()
    string = _string + _string
    f, k = [-1]*len(string), 0
    for j in range(1, len(string)):
        i = f[j-k-1]
        while i != -1 and string[j] != string[k+i+1]:
            if string[j] < string[k+i+1]:
                k = j - i - 1
            i = f[i]
        if i == -1 and string[j] != string[k+i+1]:
            if string[j] < string[k+i+1]:
                k = j
            f[j-k] = -1
        else:
            f[j-k] = i+1
    print(_string[k:] + _string[0:k])

Test details

Test 1

Verdict:

input
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
(empty)

Test 2

Verdict:

input
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb...

correct output
abbbbbbbbbbbbbbbbbbbbbbbbbbbbb...

user output
(empty)

Test 3

Verdict: ACCEPTED

input
jibanqfglkmsywdlqjquxxnqeyhbyu...

correct output
aaadptqmkuqxnvmojzhghqtfztbwsj...

user output
aaadptqmkuqxnvmojzhghqtfztbwsj...
Truncated

Test 4

Verdict: ACCEPTED

input
muykjgvsstkgydmumitbgvsbtgyvmv...

correct output
aaaeaeipiqglrtbzelgrqmrxqbnjke...

user output
aaaeaeipiqglrtbzelgrqmrxqbnjke...
Truncated

Test 5

Verdict: ACCEPTED

input
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
Truncated

Test 6

Verdict:

input
aaaaaaaaabaaaaaaaaabaaaaaaaaab...

correct output
aaaaaaaaabaaaaaaaaabaaaaaaaaab...

user output
(empty)

Test 7

Verdict:

input
jtcbpjizbiauauipwsdteaisynwesj...

correct output
aisynwesjvtvgghnbqyqprwpfqayzl...

user output
(empty)

Test 8

Verdict: UNKNOWN

input
a

correct output
a

user output
(not available)

Test 9

Verdict: UNKNOWN

input
ab

correct output
ab

user output
(not available)

Test 10

Verdict: UNKNOWN

input
ba

correct output
ab

user output
(not available)

Test 11

Verdict: UNKNOWN

input
home

correct output
ehom

user output
(not available)

Test 12

Verdict: UNKNOWN

input
baaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
(not available)