#arc098b. [arc098_b]Xor Sum 2
[arc098_b]Xor Sum 2
题目描述
有一个长度为 的整数序列 。
找出满足以下条件的整数对 的数量:
- $A_l\\ xor\\ A_{l+1}\\ xor\\ ...\\ xor\\ A_r = A_l\\ +\\ A_{l+1}\\ +\\ ...\\ +\\ A_r$
这里, 表示按位异或。
XOR 的定义
整数 的 XOR 定义如下:
- 设 XOR 为 。在 的二进制表示中,当且仅当 中有奇数个整数的二进制表示在 位上为 时, 位上的数字为 ;否则为 。
例如,我们计算 和 的 XOR。 的二进制表示为 , 的二进制表示为 ,所以 XOR 的二进制表示为 ,即 XOR 是 。
约束条件
- 输入中的所有值都是整数。
输入
输入是标准输入提供的,格式如下:
输出
打印满足条件的整数对 的数量。
示例输入 1
4
2 5 4 6
示例输出 1
5
明显有 满足条件。 也满足条件,因为 。其他没有满足条件的整数对,所以答案是 。
示例输入 2
9
0 0 0 0 0 0 0 0 0
示例输出 2
45
示例输入 3
19
885 8 1 128 83 32 256 206 639 16 4 128 689 32 8 64 885 969 1
示例输出 3
37