#ABC147D. 异或和

异或和

异或和

题目描述

NN 个整数,第 ii 个整数是 AiA_i

求 $\sum_{i=1}^{N-1}\sum_{j=i+1}^{N} (A_i \text{ XOR } A_j)$ 除以 109+710^9+7 的余数。

什么是  XOR \text{ XOR }

整数 A,BA, B 的按位异或 a XOR ba \text{ XOR } b 定义如下。

  • a XOR ba \text{ XOR } b 用二进制表示时,2k2^kk0k \geq 0)位上的数字是:当 A,BA, B 用二进制表示时的 2k2^k 位上的数字恰好只有一方为 11 时为 11,否则为 00

例如,3 XOR 5=63 \text{ XOR } 5 = 6(用二进制表示:011 XOR 101=110011 \text{ XOR } 101 = 110)。

输入格式

输入按以下格式从标准输入给出:

NN
A1A_1 A2A_2 ...... ANA_N

输出格式

输出 $\sum_{i=1}^{N-1}\sum_{j=i+1}^{N} (A_i \text{ XOR } A_j)$ 除以 109+710^9+7 的余数。

样例

3
1 2 3
6

$(1\text{ XOR } 2)+(1\text{ XOR } 3)+(2\text{ XOR } 3)=3+2+1=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

请输出和除以 109+710^9+7 的余数。

数据范围

  • 2N3×1052 \leq N \leq 3 \times 10^5
  • 0Ai<2600 \leq A_i \lt 2^{60}
  • 输入中的所有值均为整数。
难度 普及+/提高-
通过率 100%
尝试 1
已通过 1
ID
1827
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签