首先整个区间的 一定是题目给的最小因子
所以题目给的每个因子都应该是最小因子的倍数
否则就会互质,互质最小因子就是1,非法(当然如果最小因子就是1那肯定合法)
#include <bits/stdc++.h>
using namespace std;
const int maxn=2e5+10;
int n,a[maxn],minn=1e9,flag;
int main()
{
cin >> n;
for(int i=1;i<=n;i++)
{
cin >> a[i];
minn=min( minn,a[i] );
}
for(int i=1;i<=n;i++)
if( a[i]%minn!=0 ) flag=1;
if( flag ) cout << "-1";
else
{
cout << n*2 << endl;
for(int i=1;i<=n;i++)
cout << a[i] << " " << minn << " ";
}
}