CF1883C.Raspberries
入门
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an array of integers a1,a2,…,an and a number k (2≤k≤5). In one operation, you can do the following:
- Choose an index 1≤i≤n,
- Set ai=ai+1.
Find the minimum number of operations needed to make the product of all the numbers in the array a1⋅a2⋅…⋅an divisible by k.
给你一个整数数组 a1,a2,…,an 和一个整数 k(2≤k≤5)。每次操作你可以执行以下步骤:
- 选择一个下标 1≤i≤n,
- 将 ai 的值增加 1,即令 ai=ai+1。
求使数组中所有数的乘积 a1⋅a2⋅…⋅an 能被 k 整除所需的最少操作次数。
输入格式
Each test consists of multiple test cases. The first line contains a single integer t (1≤t≤104) — the number of test cases. Then follows the description of the test cases.
The first line of each test case contains two integers n and k (2≤n≤105, 2≤k≤5) — the size of the array a and the number k.
The second line of each test case contains n integers a1,a2,…,an (1≤ai≤10).
It is guaranteed that the sum of n over all test cases does not exceed 2⋅105.
每个测试包含多个测试用例。第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。随后是各测试用例的描述。
每个测试用例的第一行包含两个整数 n 和 k(2≤n≤105,2≤k≤5),分别表示数组 a 的大小和数字 k。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an(1≤ai≤10)。
保证所有测试用例中 n 的总和不超过 2⋅105。
输出格式
For each test case, output the minimum number of operations needed to make the product of all the numbers in the array divisible by k.
对于每个测试用例,输出使数组中所有数字的乘积能被 k 整除所需的最少操作次数。
输入输出样例
输入#1
15 2 5 7 3 3 3 7 4 1 5 2 9 7 7 3 9 5 5 5 4 1 2 3 7 4 9 5 1 5 9 5 1 3 4 6 3 6 3 4 6 1 5 3 4 1 5 9 4 4 1 4 1 1 3 4 3 5 3 4 5 8 9 9 3 2 5 1 6 2 5 10 10 4 5 1 6 1 1 2 5 7 7
输出#1
2 2 1 0 2 0 1 2 0 1 1 4 0 4 3
说明/提示
In the first test case, we need to choose the index i=2 twice. After that, the array will be a=[7,5]. The product of all the numbers in the array is 35.
In the fourth test case, the product of the numbers in the array is 120, which is already divisible by 5, so no operations are needed.
In the eighth test case, we can perform two operations by choosing i=2 and i=3 in any order. After that, the array will be a=[1,6,10]. The product of the numbers in the array is 60.
在第一个测试用例中,我们需要选择索引 i=2 两次。操作完成后,数组变为 a=[7,5]。数组中所有数的乘积为 35。
在第四个测试用例中,数组中各数的乘积为 120,该值已能被 5 整除,因此无需任何操作。
在第八个测试用例中,我们可以通过任意顺序选择 i=2 和 i=3 各执行一次操作,共进行两次操作。操作完成后,数组变为 a=[1,6,10]。数组中所有数的乘积为 60。
输入解题思路,AI测评打分。不知道怎么写?