結果

問題 No.252 "良問"(良問とは言っていない (2)
ユーザー tnoda_tnoda_
提出日時 2015-08-31 14:58:12
言語 Python2
(2.7.18)
結果
TLE  
実行時間 -
コード長 913 bytes
コンパイル時間 59 ms
コンパイル使用メモリ 6,664 KB
実行使用メモリ 77,804 KB
最終ジャッジ日時 2023-09-25 21:04:07
合計ジャッジ時間 19,801 ms
ジャッジサーバーID
(参考情報)
judge14 / judge15
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 TLE -
testcase_01 TLE -
testcase_02 TLE -
testcase_03 TLE -
testcase_04 TLE -
testcase_05 TLE -
testcase_06 AC 12 ms
6,064 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

def solve():
    S = raw_input()
    L = len(S)
    # sfp
    fp = [0] * L
    for i in xrange(L-6):
        flag = True
        for j in xrange(7):
            if S[i+j] != "problem"[j]:
                flag = False
        if flag:
            fp[i+6] += 1
    sfp = [0] * L
    for i in xrange(1, L):
        sfp[i] = sfp[i-1] + fp[i]
    # good
    good = [4] * L
    for i in xrange(L-10):
        for j in xrange(4):
            if S[i+j] == "good"[j]:
                good[i] -= 1
    # problem
    problem = [7] * L
    for i in xrange(L-6):
        for j in xrange(7):
            if S[i+j] == "problem"[j]:
                problem[i] -= 1
    sp = [1000] * L
    for i in range(L-2, -1, -1):
        sp[i] = min(sp[i+1], problem[i])
    ans = good[0] + sp[4]
    for i in xrange(1, L-10):
        ans = min(ans, good[i] + sp[i+4] + sfp[i-1])
    print(ans)


T = input()
for i in xrange(T):
    solve()
0