#GESP1386. [GESP202609三级] 公共二进制位

[GESP202609三级] 公共二进制位

题目背景

2026 年 09 月 GESP C++ 三级编程第 1 题

题目描述

小红有 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 的二进制位数量。

样例

3
13 7 15
2

样例解释

三个整数的二进制表示分别为 (1101)2(1101)_2、(0111)2(0111)_2 和 (1111)2(1111)_2。其中第 00 位和第 22 位均为 11,因此答案为 22。

数据范围

对于所有测试点,保证 2≤n≤200002 \le n \le 20000,0≤ai≤1090 \le a_i \le 10^9。