結果

問題 No.1859 ><<<
ユーザー Shirotsume
提出日時 2021-11-26 12:48:09
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 962 bytes
コンパイル時間 807 ms
コンパイル使用メモリ 82,476 KB
実行使用メモリ 167,096 KB
最終ジャッジ日時 2024-07-04 15:59:12
合計ジャッジ時間 4,819 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other TLE * 1 -- * 40
権限があれば一括ダウンロードができます

ソースコード

diff #

def partial_match_table(word):
    table = [0] * (len(word) + 1)
    table[0] = -1
    i, j = 0, 1

    while j < len(word):
        matched = word[i] == word[j]

        if not matched and i > 0:
            i = table[i]
        else:
            if matched:
                i += 1
            j += 1
            table[j] = i

    return table
    
def kmp_search(text, word):
    table = partial_match_table(word)
    i, p = 0, 0

    while i < len(text) and p < len(word):
        if text[i] == word[p]:
            i += 1
            p += 1
        elif p == 0:
            i += 1
        else:
            p = table[p]

    return (-1, i - p)[p == len(word)]

def solve(n, a, s):
    a = a + a
    t = []
    for i in range(2 * n - 1):
        if a[i] < a[i + 1]:
            t.append('<')
        else:
            t.append('>')
    t = ''.join(t)
    return t.find(s)

n = int(input())
a = list(map(int,input().split()))
s = input()

print(solve(n, a, s))
0