logo AlgoBeat OnlineJudge
登录 注册

#215139. [UOI 2019 II Stage] 最大公约数

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

今天,哥萨克胡子遇到了他的老朋友——哥萨克耳朵。他们聊了很久,回忆了各自的童年和青年时光。话题也引到了当年他们在编程奥林匹克竞赛中未能解决的一道题。

给定一个包含 个数的数组。每次操作可以选择其中一个数 将其增加 。你需要确定,最少需要多少次操作,才能使得到的数组满足以下条件:

  • 对于所有 ,满足
  • 所有数的最大公约数大于

最大公约数 指的是一组正数中,能同时整除所有数的最大正整数。

输入格式

第一行包含一个整数 —— 测试用例的数量。接下来是每个测试用例的描述。

每个测试用例描述的第一行包含一个整数 () —— 数组的大小。

每个测试用例描述的第二行包含 个整数 —— 数组中的数。

输出格式

对于每个测试用例,在单独一行输出一个数字 —— 为使数组满足给定条件所需的最少操作次数。

样例

样例输入 1

1
3
9 1 16

样例输出 1

10

样例输入 2

2
4
5 7 3 6
5
4 2 8 16 10

样例输出 2

7
8

数据范围与提示

在第一个样例中,可以将第一个和第二个数增加到 ,此时数组中所有数的最大公约数将等于二。

在第二个样例的第一个测试用例中,可以将所有数都变为

在第二个样例的第二个测试用例中,可以将数组修改为