C++ Codechef:从数组元素中移除成对的公因子并找到最小乘积。为什么回答错了?

C++ Codechef:从数组元素中移除成对的公因子并找到最小乘积。为什么回答错了?,c++,algorithm,C++,Algorithm,问题陈述: 给您一个由N个正整数组成的数组,您可以对该数组执行以下操作 1) 在数组(i!=j)中选择任意两个索引i和j。 2) 将A[i]和A[j]除以A[i]和A[j]的公因数 您可以根据需要多次执行上述操作,目的是最小化生成的数组的乘积。找到这个最小的产品。因为答案可能是一个大数字,所以以100000007为单位打印产品 输入: 第一行包含T,测试用例的数量。每个测试用例包含2行。每个测试用例的第一行包含一个整数N,数组的大小 每个测试用例的第二行包含N个空格分隔的整数,数组A 输出: 对

问题陈述: 给您一个由N个正整数组成的数组,您可以对该数组执行以下操作
1) 在数组(i!=j)中选择任意两个索引
i
j

2) 将
A[i]
A[j]
除以A[i]和A[j]的公因数

您可以根据需要多次执行上述操作,目的是最小化生成的数组的乘积。找到这个最小的产品。因为答案可能是一个大数字,所以以100000007为单位打印产品

输入:

第一行包含T,测试用例的数量。每个测试用例包含2行。每个测试用例的第一行包含一个整数N,数组的大小

每个测试用例的第二行包含N个空格分隔的整数,数组A

输出:
对于每个测试用例,输出指示该测试用例答案的单行

CONSTRAINTS:

1<=T<=10  
30 points : 1<=N<=2000, 1<=A[i]<=10^6  
70 points : 1<=N<=20000, 1<=A[i]<=10^8

SAMPLE INPUT:  
1  
3  
2 3 6  

SAMPLE OUTPUT:
1
约束:

1这是错误的,因为您必须找到数组的
最小乘积。在编写代码时,您不需要搜索以最小化此乘积,只要在可能的情况下对整数进行除法即可

考虑以下示例:

1
5
1 3 6 9 2

输出必须为1。你的代码是9。为什么?因为你把3和6作为一对,得到
1192
。但是如果你得到3和9,你得到的是
16132
。。。然后你可以有
12

非常感谢你的反例
1
5
1 3 6 9 2