結果
| 問題 | No.252 "良問"(良問とは言っていない (2) | 
| コンテスト | |
| ユーザー |  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 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 2 TLE * 5 | 
ソースコード
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()
            
            
            
        