100 atcoder#ABC147D. [ABC147D] Xor Sum 4
[ABC147D] Xor Sum 4
题目描述
個の整数があり、 番目の整数は です。
$ \sum_{i=1}^{N-1}\sum_{j=i+1}^{N}\ (A_i\ \text{\ XOR\ }\ A_j) $ を で割った余りを求めてください。
とは 整数 のビットごとの排他的論理和 は、以下のように定義されます。
- を二進表記した際の () の位の数は、 を二進表記した際の の位の数のうち一方のみが であれば 、そうでなければ である。
例えば、 となります (二進表記すると: )。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
$ \sum_{i=1}^{N-1}\sum_{j=i+1}^{N}\ (A_i\ \text{\ XOR\ }\ A_j) $ を で割った余りを出力せよ。
题目大意
题目描述
给出 个整数 ,请求出 $\sum_{i=1}^{n-1}\sum_{j=i+1}^{n}(a_i \operatorname{xor}a_j)$ 对 取模的值。
输入格式
第一行为一个正整数 。
第二行有 个整数 。
输出格式
输出 $\sum_{i=1}^{n-1}\sum_{j=i+1}^{n}(a_i \operatorname{xor}a_j)$ 对 取模的值。
数据范围
。
3
1 2 3
6
10
3 1 4 1 5 9 2 6 5 3
237
10
3 14 159 2653 58979 323846 2643383 27950288 419716939 9375105820
103715602
提示
制約
- 入力中のすべての値は整数である。
Sample Explanation 1
$ (1\text{\ XOR\ }\ 2)+(1\text{\ XOR\ }\ 3)+(2\text{\ XOR\ }\ 3)=3+2+1=6 $ となります。
Sample Explanation 3
和を で割った余りを出力してください。