问题2716--星际脉冲的布尔回声

2716: 星际脉冲的布尔回声

[命题人 : ]
时间限制 : 1 sec  内存限制 : 256 MB

提交

题目描述

在“沉眠之星”外围的尘埃带中,阿特拉斯号捕获到一段周期性极弱的脉冲信号。 
脉冲被量化后形成一个长度为 n 的布尔序列,其中第 i 个量记为 A_i。 
科研组推测,这段信号可能蕴含某种“共鸣结构”。 
为此,他们定义了任意两段脉冲之间的“回声强度”:
  • 给定两个布尔量 x, y 属于 {0, 1},其回声强度 E(x, y) 定义为: E(x, y) = (x AND y) + (x OR y) + (x XOR y) (其中运算均为按位运算) 

整段脉冲的总回声强度定义为: 
  • 对所有满足 1 <= i < j <= n 的数对 (A_i, A_j) 的回声强度之和。 
科研组需要你计算总回声强度,以判断这段脉冲是否具有人工结构的迹象。

输入

第一行输入一个整数 n,表示脉冲序列的长度。 
第二行输入 n 个整数 A_i,每个 A_i 为 0 或 1。 
其中:
  • 1 <= n <= 10^6 
  • A_i 属于 {0, 1}

输出

输出一个整数,表示所有数对的总回声强度。

样例输入 Copy

3
1 0 1

样例输出 Copy

6

提示

序列为:1, 0, 1

数对有三个:(1, 0), (1, 1), (0, 1)

根据公式 E(x, y) = (x & y) + (x | y) + (x ^ y):

E(1, 0) = 0 + 1 + 1 = 2

E(1, 1) = 1 + 1 + 0 = 2

E(0, 1) = 0 + 1 + 1 = 2

总和 = 2 + 2 + 2 = 6