結果
問題 | No.38 赤青白ブロック |
ユーザー |
![]() |
提出日時 | 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 |
ソースコード
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)