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 |
|
|
| 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 |