結果
問題 |
No.1863 Xor Sum 2...?
|
ユーザー |
|
提出日時 | 2022-03-20 14:24:52 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 594 bytes |
コンパイル時間 | 281 ms |
コンパイル使用メモリ | 82,508 KB |
実行使用メモリ | 103,544 KB |
最終ジャッジ日時 | 2024-10-06 21:03:33 |
合計ジャッジ時間 | 4,589 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 10 WA * 18 |
ソースコード
""" A_l + ... + A_r が二進数で繰り上がりなし B_l ^ ... ^ B_r が0 ならOK """ n = int(input()) A = list(map(int, input().split())) B = list(map(int, input().split())) z = o = 0 tot = 0 Z = [0] O = [0] zo = [0] for b in B: tot ^= b if tot == 0: z += 1 else: o += 1 Z.append(z) O.append(o) zo.append(tot) ans = B.count(0) bit = 0 l = 0 for r, a in enumerate(A, 1): while bit & a != 0: bit ^= A[l] l += 1 bit ^= a if zo[r] == 0: ans += Z[r] - Z[l] - 1 else: ans += O[r] - O[l] - 1 print(ans)