Submission #6999991


Source Code Expand

import sys
input = sys.stdin.readline
sys.setrecursionlimit(10 ** 7)

from collections import defaultdict
from bisect import bisect_left

S = input().rstrip()
T = input().rstrip()

LS = len(S)

index = defaultdict(list) # alphabet to indices

for i,s in enumerate(S):
    index[s].append(i)

index

x = -1 # 今見た場所。次はx+1以上からとる。
for t in T:
    arr = index[t]
    if len(arr) == 0:
        x = -2
        break
    y = (x+1)%LS
    i = bisect_left(arr,y)
    if i < len(arr):
        next_x = (x+1) + arr[i] - y
    else:
        next_x = (x+1) + arr[0] - y + LS
    x = next_x

answer = x+1
print(answer)

Submission Info

Submission Time
Task E - Strings of Impurity
User maspy
Language Python (3.4.3)
Score 500
Code Size 667 Byte
Status AC
Exec Time 161 ms
Memory 7864 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 3
AC × 45
Set Name Test Cases
Sample a01, a02, a03
All a01, a02, a03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45
Case Name Status Exec Time Memory
a01 AC 22 ms 3316 KiB
a02 AC 22 ms 3316 KiB
a03 AC 21 ms 3316 KiB
b04 AC 21 ms 3316 KiB
b05 AC 21 ms 3316 KiB
b06 AC 21 ms 3316 KiB
b07 AC 21 ms 3316 KiB
b08 AC 22 ms 3316 KiB
b09 AC 21 ms 3316 KiB
b10 AC 149 ms 7540 KiB
b11 AC 123 ms 7540 KiB
b12 AC 121 ms 7540 KiB
b13 AC 120 ms 7540 KiB
b14 AC 147 ms 7540 KiB
b15 AC 151 ms 7540 KiB
b16 AC 145 ms 7540 KiB
b17 AC 151 ms 7796 KiB
b18 AC 161 ms 7796 KiB
b19 AC 158 ms 7668 KiB
b20 AC 131 ms 7668 KiB
b21 AC 128 ms 7796 KiB
b22 AC 127 ms 7796 KiB
b23 AC 127 ms 7668 KiB
b24 AC 131 ms 7668 KiB
b25 AC 151 ms 7796 KiB
b26 AC 149 ms 7796 KiB
b27 AC 138 ms 7784 KiB
b28 AC 134 ms 7864 KiB
b29 AC 128 ms 7796 KiB
b30 AC 129 ms 7796 KiB
b31 AC 46 ms 7668 KiB
b32 AC 95 ms 3444 KiB
b33 AC 61 ms 3444 KiB
b34 AC 42 ms 7412 KiB
b35 AC 43 ms 7668 KiB
b36 AC 123 ms 7540 KiB
b37 AC 122 ms 7540 KiB
b38 AC 129 ms 7540 KiB
b39 AC 125 ms 7540 KiB
b40 AC 124 ms 7540 KiB
b41 AC 124 ms 7540 KiB
b42 AC 40 ms 7540 KiB
b43 AC 43 ms 7668 KiB
b44 AC 122 ms 7540 KiB
b45 AC 124 ms 7540 KiB