結果
問題 |
No.3015 右に寄せろ!
|
ユーザー |
|
提出日時 | 2025-01-25 18:03:02 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 785 bytes |
コンパイル時間 | 611 ms |
コンパイル使用メモリ | 81,828 KB |
実行使用メモリ | 182,420 KB |
最終ジャッジ日時 | 2025-01-25 23:59:52 |
合計ジャッジ時間 | 4,662 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 4 RE * 32 |
ソースコード
S = input() ans = 0 S = list(S) for i in range(len(S) - 1): if S[i] == S[i + 1] == "1": S = S[i:] break else: print(0) exit() while S[-1] == "1": S.pop() if not len(S): break if len(S) == 0 or len(S) == 1: print(0) exit() if set(len(S)) == 1: print(0) exit() tmp = [] streak = 1 for i in range(1, len(S)): if S[i] == S[i - 1]: streak += 1 else: tmp.append(streak) streak = 1 tmp.append(streak) A = [] B = [] for i in range(len(tmp)): if i % 2 == 0: A.append(tmp[i]) else: B.append(tmp[i]) x = A[0] for i in range(len(A)): if i != 0: x += A[i] if x % 2 == 1: x -= 1 ans += (x // 2) * B[i] print(ans)