#5604. 数据处理

数据处理

题目描述

某数据中心刚刚接收了一批数据,包含 N 个数值,第 i 个数值为 ai。

为了优化存储结构,系统管理员需要对这批数据进行多轮处理。在每一轮处理中,必须对每一个数据都执行一次操作。对于每个数据,系统可以选择以下两种操作之一:

  • 压缩操作:将数值 ai 除以 2。执行此操作的前提是 ai 必须为偶数(即操作后的数值仍为整数)。
  • 扩展操作:将数值 ai 乘以 3。

在每一轮处理中,必须至少有一个数据执行了“压缩操作”,其余数据可以选择压缩(仅偶数)或扩展(任意数)。如果某一轮无法满足该要求(即所有数据都无法进行压缩),则处理流程终止。

请你计算,在最优的策略下,这批数据最多能进行多少轮处理?

输入格式

  • 第一行包含一个整数 N,表示数据的数量。
  • 第二行包含 N 个整数 a1, a2, …, aN,表示每个数据的初始数值。

输出格式

输出一个整数,表示最多可以进行的处理轮数。

样例输入 1

3
5 2 4

样例输出 1

3

样例输入 2

4
631 577 243 199

样例输出 2

0

样例输入 3

10
2184 2126 1721 1800 1024 2528 3360 1945 1280 1776

样例输出 3

39

说明

样例 1 说明

初始数值为 {5, 2, 4},一种可行的 3 轮操作方案如下:

  • 第一轮:对 5 执行扩展操作(5×3=15),对 2 执行扩展操作(2×3=6),对 4 执行压缩操作(4÷2=2),序列变为 {15, 6, 2}。
  • 第二轮:对 15 执行扩展操作(15×3=45),对 6 执行压缩操作(6÷2=3),对 2 执行扩展操作(2×3=6),序列变为 {45, 3, 6}。
  • 第三轮:对 45 执行扩展操作(45×3=135),对 3 执行扩展操作(3×3=9),对 6 执行压缩操作(6÷2=3),序列变为 {135, 9, 3}。

此时序列中所有数字均为奇数,无法再进行任何压缩操作,流程终止。总共进行了 3 轮。

样例 2 说明

所有数据的数值均为奇数,没有任何一个数能执行压缩操作,因此第 1 轮无法启动,答案为 0。

数据范围

  • 对于 100% 的数据,满足 1 ≤ N ≤ 10000,1 ≤ ai ≤ 1e9。