#P1261. 2023.04.28-od-第三题-二进制差异数

2023.04.28-od-第三题-二进制差异数

题目内容

AABB 的二进制表示为 an,an1,,a1a_n,a_{n−1},⋯,a_1bn,bn1,,b1b_n,b_{n−1},⋯,b_1 ,其中 ai,bi{0,1}a_i,b_i ∈\{0,1\}

则它们的差异值为 i=1n(aibi)2i1∑_{i=1}^n (a_i ∧ b_i)2^{i−1}

相似值为 i=1n(ai & bi)2i1∑_{i=1}^n(a_i\ \& \ b_i)2^{i−1} , 其中 ∧ 表示异或运算, & 表示与运算。

给定 nn 个正整数 A1,A2,,AnA_1,A_2,⋯,A_n ,求满足 AiA_iAjA_j 的差异值大于相似值的 (i,j)(i,j) 对数,其中 0i<j<n0\le i\lt j\lt n

输入描述

输入第一行为一个整数 nn ,表示数组的大小。

输入第二行为 nn 个整数,第 ii 个元素为 AiA_i

1n1051\le n \le 10^51Ai2301\le A_i \le 2^{30}

输出描述

输出为一个整数,表示满足差异值大于相似值的对数。

样例

样例一

输入

4
4 3 5 2

输出

4

样例解释

有如下4组数据符合条件: (1,2),(1,3),(2,4),(3,4).(1 , 2),(1 , 3),(2 , 4),(3 , 4).

样例二

输入

5
1 2 3 4 5

输出

8

样例解释

有如下8组数据符合条件: $(1 , 2),(1 , 3),(1 , 4),(1 , 5),(2 , 4),(2 , 5),(3 , 4),(3 , 5).$

样例三

输入

5
16 36 35 40 2

输出

7

样例解释

有如下7组数据符合条件: $(1 , 2),(1 , 3),(1 , 4),(1 , 5),(2 , 5),(3 , 5),(4 , 5).$