結果

問題 No.252 "良問"(良問とは言っていない (2)
ユーザー tnoda_tnoda_
提出日時 2015-08-31 14:56:27
言語 Python2
(2.7.18)
結果
TLE  
(最新)
AC  
(最初)
実行時間 -
コード長 814 bytes
コンパイル時間 158 ms
コンパイル使用メモリ 6,912 KB
実行使用メモリ 78,148 KB
最終ジャッジ日時 2024-07-18 16:50:15
合計ジャッジ時間 15,277 ms
ジャッジサーバーID
(参考情報)
judge4 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

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

ソースコード

diff #

def solve():
    S = raw_input()
    L = len(S)
    # sfp
    fp = [0] * L
    for i in xrange(L-6):
        if S[i:i+7] == "problem":
            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