結果
| 問題 |
No.3205 Range Pairwise Xor Query
|
| コンテスト | |
| ユーザー |
👑 Kazun
|
| 提出日時 | 2025-07-27 23:57:54 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 821 bytes |
| コンパイル時間 | 476 ms |
| コンパイル使用メモリ | 81,804 KB |
| 実行使用メモリ | 114,668 KB |
| 最終ジャッジ日時 | 2025-07-27 23:58:01 |
| 合計ジャッジ時間 | 6,295 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | WA * 20 |
ソースコード
def test(x: int, k: int) -> int:
return (x >> k) & 1
#==================================================
def solve():
N, Q = map(int, input().split())
A = [0] + list(map(int, input().split()))
K = 5
bit_cum = [None] * K
for k in range(K):
bits = [test(a, k) for a in A]
for i in range(1, N + 1):
bits[i] += bits[i - 1]
bit_cum[k] = bits
power = [pow(2, k) for k in range(K)]
for _ in range(Q):
L, R = map(int, input().split())
ans = 0
for k in range(K):
b = bit_cum[k][R] - bit_cum[k][L - 1]
ans += power[k] * b * (R - L + 1- b)
yield ans
#==================================================
import sys
input = sys.stdin.readline
write = sys.stdout.write
write("\n".join(map(str, solve())))
Kazun