#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。