#G326091. [GESP202609 三级 C++] 26. 公共二进制位

提交1 通过1
通过率100%
时间限制1000ms
内存限制512MiB

题目描述

题目描述

小红有 nn 个非负整数 a1,a2,,ana_1,a_2,\ldots,a_n。她将每个整数转换为二进制后,想知道有多少个二进制位在所有整数中均为 11

二进制位从右向左编号为 0,1,2,0,1,2,\ldots。若某个整数的二进制表示中没有第 kk 位,则认为它的第 kk 位为 00

请你求出满足条件的二进制位数量。

输入格式

  • 第一行一个整数 nn,表示整数的个数。
  • 第二行 nn 个非负整数 a1,a2,,ana_1,a_2,\ldots,a_n

输出格式

输出一个整数,表示所有整数的二进制表示中均为 11 的二进制位数量。

输入样例 1

3
13 7 15

输出样例 1

2

样例解释

三个整数的二进制表示分别为 (1101)2(1101)_2(0111)2(0111)_2(1111)2(1111)_2

其中第 00 位和第 22 位均为 11,因此答案为 22

数据范围

2n200002\le n\le200000ai1090\le a_i\le10^9