結果

問題 No.252 "良問"(良問とは言っていない (2)
ユーザー tnoda_tnoda_
提出日時 2015-08-31 14:56:27
言語 Python2
(2.7.18)
結果
TLE  
(最新)
AC  
(最初)
実行時間 -
コード長 814 bytes
コンパイル時間 860 ms
コンパイル使用メモリ 6,492 KB
実行使用メモリ 77,808 KB
最終ジャッジ日時 2023-09-25 21:01:57
合計ジャッジ時間 15,007 ms
ジャッジサーバーID
(参考情報)
judge15 / judge14
このコードへのチャレンジ(β)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1,924 ms
6,080 KB
testcase_01 AC 1,670 ms
5,968 KB
testcase_02 TLE -
testcase_03 AC 1,987 ms
77,672 KB
testcase_04 AC 1,986 ms
77,808 KB
testcase_05 AC 1,978 ms
77,688 KB
testcase_06 AC 12 ms
6,008 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