#4677. 数据处理
数据处理
题目描述
某数据中心刚刚接收了一批数据,包含 个数值,第 个数值为 。
为了优化存储结构,系统管理员需要对这批数据进行多轮处理。在每一轮处理中,必须对每一个数据都执行一次操作。对于每个数据,系统可以选择以下两种操作之一:
- 压缩操作:将数值 除以 。执行此操作的前提是 必须为偶数(即操作后的数值仍为整数)。
- 扩展操作:将数值 乘以 。
在每一轮处理中,必须至少有一个数据执行了"压缩操作",其余数据可以选择压缩(仅偶数)或扩展(任意数)。如果某一轮无法满足该要求(即所有数据都无法进行压缩),则处理流程终止。
请你计算,在最优的策略下,这批数据最多能进行多少轮处理?
输入格式
- 第一行包含一个整数 ,表示数据的数量。
- 第二行包含 个整数 ,表示每个数据的初始数值。
输出格式
输出一个整数,表示最多可以进行的处理轮数。
样例
3
5 2 4
3
4
631 577 243 199
0
10
2184 2126 1721 1800 1024 2528 3360 1945 1280 1776
39
提示
样例 1 解释:初始数值为 ,一种可行的 轮操作方案如下:
- 第一轮:对 执行扩展操作(),对 执行扩展操作(),对 执行压缩操作(),序列变为 。
- 第二轮:对 执行扩展操作(),对 执行压缩操作(),对 执行扩展操作(),序列变为 。
- 第三轮:对 执行扩展操作(),对 执行扩展操作(),对 执行压缩操作(),序列变为 。
此时序列中所有数字均为奇数,无法再进行任何压缩操作,流程终止。总共进行了 轮。
样例 2 解释:所有数据的数值均为奇数,没有任何一个数能执行压缩操作,因此第 轮无法启动,答案为 。
数据范围
- 对于 的数据,满足 ,。