B4515 [四川青少年 C++ 算法设计大赛 2025] 圆度

题目描述

我们把一个数的 $ 6 $-roundness 值定义为它在 $ 6 $ 进制下末尾 $ 0 $ 的个数。 给你一个长度为 $ n $ 的数列,要求你从中选出 $ k $ 个数,使得这些选出的数的积的 $ 6 $-roundness 值最大。

输入格式

第一行包括两个正整数 $ n $ 和 $ k $。 第二行包括 $ n $ 个空白分隔的数 $ a_1, a_2, \dots, a_n $。

输出格式

输出一个整数,是选择 $ k $ 个数并作积的最大 $ 6 $-roundness 值。

说明/提示

### 【样例 1 解释】 在第一个例子中,有三种选法。 $ \{18, 4\} $ 的积是 $ (200)_6 $,$ 6 $-roundness 值是 $ 2 $; $ \{4, 12\} $ 的积是 $ (120)_6 $,$ 6 $-roundness 值是 $ 1 $; $ \{18, 12\} $ 的积是 $ (1000)_6 $,$ 6 $-roundness 值是 $ 3 $。 ### 【样例 2 解释】 第二个例子中选法 $ \{9, 16, 9\} $ 的积是 $ (10000)_6 $,$ 6 $-roundness 值是 $ 4 $。 ### 【样例 3 解释】 第三个例子中所有的选法的积的 $ 6 $-roundness 值都是 $ 0 $。 ### 【子任务】 ::cute-table{tuack} | 测试点编号 | $ n $ | $ k $ | $ a_i $ | |:-:|:-:|:-:|:-:| | $1 \sim 2$ | $ \leq 200 $ | $ \leq 100 $ | 一定可以被表示为 $ 6 $ 的幂次 | | $3$ | ^ | ^ | 在 $ \{2, 3, 6\} $ 中取值 | | $4$ | $ = 10 $ | $ = 5 $ | 任意 $ k $ 个 $ a_i $ 之积不超过 $ 10^{18} $ | | $5$ | $ = 25 $ | $ = 12 $ | 只含有质因子 $ 2 $ 或质因子 $ 3 $ | | $6$ | ^ | ^ | 只含有质因子 $ 2 $ 和质因子 $ 3 $ | | $7$ | ^ | ^ | 无限制 | | $8$ | $ \leq 200 $ | $ \leq 100 $ | ^ | | $9$ | ^ | ^ | ^ | | $10$ | ^ | ^ | ^ | 对于 $ 100\% $ 的数据,$ 1 \leq n \leq 200 $,$ 1 \leq k \leq 100 $,$ 2 \leq a_i \leq 10^9 $。