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

    ID: 18242 远端评测题 1000ms 1024MiB 尝试: 0 已通过: 0 显示难度普及 上传者: 标签>动态规划 DP四川2025背包 DP进制科创活动小学活动

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

题目描述

我们把一个数的 6 6 -roundness 值定义为它在 6 6 进制下末尾 0 0 的个数。

给你一个长度为 n n 的数列,要求你从中选出 k k 个数,使得这些选出的数的积的 6 6 -roundness 值最大。

输入格式

第一行包括两个正整数 n n 和 k k 。

第二行包括 n n 个空白分隔的数 a1,a2,…,an a_1, a_2, \dots, a_n 。

输出格式

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

3 2
18 4 12
3
5 3
9 16 3 9 9
4
3 3
9 77 13
0

提示

【样例 1 解释】

在第一个例子中,有三种选法。

{18,4} \{18, 4\} 的积是 (200)6 (200)_6 ,6 6 -roundness 值是 2 2 ;

{4,12} \{4, 12\} 的积是 (120)6 (120)_6 ,6 6 -roundness 值是 1 1 ;

{18,12} \{18, 12\} 的积是 (1000)6 (1000)_6 ,6 6 -roundness 值是 3 3 。

【样例 2 解释】

第二个例子中选法 {9,16,9} \{9, 16, 9\} 的积是 (10000)6 (10000)_6 ,6 6 -roundness 值是 4 4 。

【样例 3 解释】

第三个例子中所有的选法的积的 6 6 -roundness 值都是 0 0 。

【子任务】

::cute-table{tuack} | 测试点编号 | n n | k k | ai a_i | |:-:|:-:|:-:|:-:| | 1∼21 \sim 2 | ≤200 \leq 200 | ≤100 \leq 100 | 一定可以被表示为 6 6 的幂次 | | 33 | ^ | ^ | 在 {2,3,6} \{2, 3, 6\} 中取值 | | 44 | =10 = 10 | =5 = 5 | 任意 k k 个 ai a_i 之积不超过 1018 10^{18} | | 55 | =25 = 25 | =12 = 12 | 只含有质因子 2 2 或质因子 3 3 | | 66 | ^ | ^ | 只含有质因子 2 2 和质因子 3 3 | | 77 | ^ | ^ | 无限制 | | 88 | ≤200 \leq 200 | ≤100 \leq 100 | ^ | | 99 | ^ | ^ | ^ | | 1010 | ^ | ^ | ^ |

对于 100% 100\% 的数据,1≤n≤200 1 \leq n \leq 200 ,1≤k≤100 1 \leq k \leq 100 ,2≤ai≤109 2 \leq a_i \leq 10^9 。