CF1471B.Strange List

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Strange List

题目描述

你有一个长度为 nn 的数组 aa 和一个整数 xx,并将它们交给了一个全新的机器人。机器人的操作如下:它会遍历数组中的元素,设当前元素为 qq。如果 qq 能被 xx 整除,机器人会在数组末尾添加 xx 个整数 qx\frac{q}{x},然后继续处理下一个元素。注意,新添加的元素之后也可能被机器人处理。如果 qq 不能被 xx 整除,机器人就会关闭。

请你求出在整个过程结束后,数组中所有元素的和。

输入格式

第一行输入一个整数 tt1t1001 \leq t \leq 100),表示测试用例的数量。

每个测试用例的第一行包含两个整数 nnxx1n1051 \leq n \leq 10^52x1092 \leq x \leq 10^9),分别表示数组的长度和机器人的参数 xx

接下来一行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n1ai1091 \leq a_i \leq 10^9),表示数组的初始值。

保证所有测试用例中 nn 的总和不超过 10510^5

输出格式

对于每个测试用例,输出一个整数,表示最终数组中所有元素的和。

说明/提示

在第一个测试用例中,初始数组为 [12][12]x=2x=2。机器人处理第一个元素后,数组变为 [12,6,6][12, 6, 6]。然后处理第二个元素,数组变为 [12,6,6,3,3][12, 6, 6, 3, 3]。再处理下一个元素,数组变为 [12,6,6,3,3,3,3][12, 6, 6, 3, 3, 3, 3],此时机器人遇到不能被 x=2x=2 整除的元素后关闭。最终数组中所有元素的和为 3636

在第二个测试用例中,初始数组为 [4,6,8,2][4, 6, 8, 2]x=2x=2。最终数组为 [4,6,8,2,2,2,3,3,4,4,1,1,1,1,1,1][4, 6, 8, 2, 2, 2, 3, 3, 4, 4, 1, 1, 1, 1, 1, 1]

由 ChatGPT 4.1 翻译

样例

2
1 2
12
4 2
4 6 8 2
36
44

在线编程 IDE

建议全屏模式获得最佳体验