今天,哥萨克胡子遇到了他的老朋友——哥萨克耳朵。他们聊了很久,回忆了各自的童年和青年时光。话题也引到了当年他们在编程奥林匹克竞赛中未能解决的一道题。
给定一个包含 个数的数组。每次操作可以选择其中一个数 将其增加 。你需要确定,最少需要多少次操作,才能使得到的数组满足以下条件:
最大公约数 指的是一组正数中,能同时整除所有数的最大正整数。
第一行包含一个整数 —— 测试用例的数量。接下来是每个测试用例的描述。
每个测试用例描述的第一行包含一个整数 () —— 数组的大小。
每个测试用例描述的第二行包含 个整数 —— 数组中的数。
对于每个测试用例,在单独一行输出一个数字 —— 为使数组满足给定条件所需的最少操作次数。
1 3 9 1 16
10
2 4 5 7 3 6 5 4 2 8 16 10
7 8
在第一个样例中,可以将第一个和第二个数增加到 ,此时数组中所有数的最大公约数将等于二。
在第二个样例的第一个测试用例中,可以将所有数都变为 。
在第二个样例的第二个测试用例中,可以将数组修改为 。
子任务编号限制条件额外限制分值所有数为偶数