Submission #29835850


Source Code Expand

s = input()
t = input()
dp = [[0] * (len(t) + 1) for i in range(len(s) + 1)]
prev = [[(-10, -10)] * (len(t) + 1) for i in range(len(s) + 1)]
dp[0][0] = 0
for i in range(len(s)):
    for j in range(len(t)):
        if dp[i + 1][j + 1] < dp[i + 1][j]:
            dp[i + 1][j + 1] = dp[i + 1][j]
            prev[i + 1][j + 1] = (i + 1, j)
        if dp[i + 1][j + 1] < dp[i][j + 1]:
            dp[i + 1][j + 1] = dp[i][j + 1]
            prev[i + 1][j + 1] = (i, j + 1)
        if s[i] == t[j] and dp[i + 1][j + 1] < dp[i][j] + 1:
            dp[i + 1][j + 1] = dp[i][j] + 1
            prev[i + 1][j + 1] = (i, j)
answer = ""
i, j = len(s), len(t)
while (i, j) != (-10, -10):
    if prev[i][j] == (i - 1, j - 1):
        answer = s[i - 1] + answer
    i, j = prev[i][j]
print(answer)

Submission Info

Submission Time
Task F - LCS
User Pro_ktmr
Language PyPy3 (7.3.0)
Score 100
Code Size 806 Byte
Status AC
Exec Time 860 ms
Memory 427548 KiB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 18
Set Name Test Cases
All 0_00, 0_01, 0_02, 0_03, 1_00, 1_01, 1_02, 1_03, 1_04, 1_05, 1_06, 1_07, 1_08, 1_09, 1_10, 1_11, 1_12, 1_13
Case Name Status Exec Time Memory
0_00 AC 61 ms 62176 KiB
0_01 AC 48 ms 62196 KiB
0_02 AC 48 ms 62144 KiB
0_03 AC 53 ms 62028 KiB
1_00 AC 49 ms 62160 KiB
1_01 AC 49 ms 62108 KiB
1_02 AC 815 ms 427548 KiB
1_03 AC 293 ms 214936 KiB
1_04 AC 304 ms 215476 KiB
1_05 AC 292 ms 215236 KiB
1_06 AC 800 ms 426828 KiB
1_07 AC 860 ms 424048 KiB
1_08 AC 835 ms 419248 KiB
1_09 AC 845 ms 424352 KiB
1_10 AC 794 ms 417260 KiB
1_11 AC 786 ms 419036 KiB
1_12 AC 750 ms 409584 KiB
1_13 AC 757 ms 425336 KiB