結果

問題 No.38 赤青白ブロック
ユーザー ntuda
提出日時 2025-02-08 12:53:04
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 766 ms / 5,000 ms
コード長 660 bytes
コンパイル時間 315 ms
コンパイル使用メモリ 82,740 KB
実行使用メモリ 76,588 KB
最終ジャッジ日時 2025-02-08 12:53:27
合計ジャッジ時間 19,986 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 27
権限があれば一括ダウンロードができます

ソースコード

diff #

KR, KB = map(int, input().split())
S = input()
NB = 1 << 20
ans = 0

for i in range(NB):
    T = ""
    k = 0
    for j in range(20):
        while k < 10 and S[j + k] == "W":
            T += "W"
            k += 1
        if S[j + k] != "W":
            if i & 1:
                T += S[j + k]
            i >>= 1
    j += 1
    while k < 10 and S[j + k] == "W":
        T += "W"
        k += 1
    for i in range(len(T)):
        if i >= KR:
            if T[i] == "R" and T[i - KR] == "R":
                break
        if i >= KB:
            if T[i] == "B" and T[i - KB] == "B":
                break
    else:
        ans = max(ans, len(T))

print(ans)
0