atcoder#ARC156D. [ARC156D] Xor Sum 5
[ARC156D] Xor Sum 5
配点 : 点
問題文
長さ の非負整数列 、および正整数 が与えられます。
を満たす長さ の正整数列 は 通り考えられますが、それらすべてに対する のビット単位 を求めてください。
ビット単位 $\mathrm{XOR}$ 演算とは
非負整数 $A, B$ のビット単位 $\mathrm{XOR}$ 、$A \oplus B$ は、以下のように定義されます。
- $A \oplus B$ を二進表記した際の $2^k$ ($k \geq 0$) の位の数は、$A, B$ を二進表記した際の $2^k$ の位の数のうち一方のみが $1$ であれば $1$、そうでなければ $0$ である。
一般に k 個の非負整数 p_1, p_2, p_3, \dots, p_k のビット単位 \mathrm{XOR} は (\dots ((p_1 \oplus p_2) \oplus p_3) \oplus \dots \oplus p_k) と定義され、これは p_1, p_2, p_3, \dots, p_k の順番によらないことが証明できます。
制約
- 与えられる入力はすべて整数
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを出力せよ。
2 2
10 30
40
として考えられるのは の 通りであり、それぞれに対する は です。よって答えは となります。
4 10
0 0 0 0
0
11 998244353
314 159 265 358 979 323 846 264 338 327 950
236500026047