結果
問題 | No.204 ゴールデン・ウィーク(2) |
ユーザー |
|
提出日時 | 2024-05-23 21:07:58 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 45 ms / 1,000 ms |
コード長 | 959 bytes |
コンパイル時間 | 229 ms |
コンパイル使用メモリ | 82,116 KB |
実行使用メモリ | 52,480 KB |
最終ジャッジ日時 | 2024-12-20 19:04:13 |
合計ジャッジ時間 | 3,724 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 46 |
ソースコード
D = int(input()) S = "x" * D + input().rstrip() + input().rstrip() + "x" * D x, y = [], [] cntX, cntO = 0, 0 for i in range(len(S)): if S[i] == "x": if i != 0 and S[i - 1] == "o": x.append(cntO) cntO = 0 cntX += 1 else: if i == 0 or S[i - 1] == "x": y.append(cntX) cntX = 0 cntO += 1 if cntO > 0: x.append(cntO) y.append(cntX) #print(x, y) if len(x) == 0: print(D) exit() MAX = 0 for i in range(len(y)): if y[i] <= D: if i == 0: MAX = max(MAX, y[i] + x[i]) elif i == len(y) - 1: MAX = max(MAX, x[i - 1] + y[i]) else: MAX = max(MAX, x[i - 1] + y[i] + x[i]) else: if i == 0: MAX = max(MAX, D + x[i]) elif i == len(y) - 1: MAX = max(MAX, x[i - 1] + D) else: MAX = max(MAX, x[i - 1] + D) MAX = max(MAX, D + x[i]) print(MAX)