Submission details
Task:Palindrome
Sender:smolse
Submission time:2016-10-24 14:54:24 +0300
Language:Python3
Status:READY
Result:
Test results
testverdicttime
#10.77 sdetails
#2--details
#3--details
#4--details
#5--details
#6--details
#70.70 sdetails

Code

import fileinput

def lp(seq):
    sl = len(seq)
    l = []
    pals = set()
    i = 0
    pl = 0
    while i < sl:
        if i > pl and seq[i - pl - 1] == seq[i]:
            pl += 2
            i += 1
            continue

        l.append(pl)
        pals.add(seq[(i - pl):i])
        s = len(l) - 2
        e = s - pl
        for j in range(s, e, -1):
            d = j - e - 1
            if l[j] == d:
                pl = d
                break
            l.append(min(d, l[j]))
            pals.add(seq[(i - pl):i])
        else:
            pl = 1
            i += 1
    l.append(pl)
    pals.add(seq[(i - pl):i])

    lLen = len(l)
    s = lLen - 2
    e = s - (2 * sl + 1 - lLen)
    for i in range(s, e, -1):
        d = i - e - 1
        pals.add(seq[(i - pl):i])
    return pals

with fileinput.input(['-']) as input:
    seq = input.readline().rstrip()
    print(max(lp(seq), key=len))

Test details

Test 1

Verdict:

input
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
(empty)

Test 2

Verdict:

input
saippuakauppiassaippuakauppias...

correct output
saippuakauppiassaippuakauppias...

user output
(empty)

Test 3

Verdict:

input
yfsnqpzfxfhdnbozewnjtseeyktblk...

correct output
buevzveub

user output
(empty)

Test 4

Verdict:

input
oyyahdsjdwtziuwnmpjhshemvxodtc...

correct output
rrfaxafuttsospqnxbwaufpchwjaha...

user output
(empty)

Test 5

Verdict:

input
tcaxtmkrvjovwnhsqquwxuemckkmks...

correct output
xtmkrvjovwnhsqquwxuemckkmksqqj...

user output
(empty)

Test 6

Verdict:

input
mwuepokhcaykorctrxqvplhxbxjndd...

correct output
eyexbstwynwjbqjasyuaqrmckrgmki...

user output
(empty)

Test 7

Verdict:

input
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

correct output
bcbcbcbcbcbcbcbcbcbcbcbcbcbcbc...

user output
(empty)