Pagini recente » Cod sursa (job #1905579) | Cod sursa (job #1969284) | Cod sursa (job #691581) | Cod sursa (job #568341) | Cod sursa (job #1851960)
#include <cstdio>
using namespace std;
bool a[100005];
int main()
{
FILE *fin, *fout;
fin=fopen("minlcm.in", "r");
fout=fopen("minlcm.out", "w");
int t, n, prec, d, i, x, maxim, nr;
long long minim, min1, min2;
fscanf(fin, "%d", &t);
prec=0;
while(t)
{
for(i=1; i<=prec; i++) a[i]=false;
fscanf(fin, "%d", &n);
minim=(1ll << 50);
maxim=-100;
for(i=1; i<=n; i++)
{
fscanf(fin, "%d", &nr);
if(nr>maxim)maxim=nr;
a[nr] = true;
}
for(d=1; d<=maxim; d++)
{
min1 = min2 = -1;
for(x=d; x<=maxim; x+=d)
{
if(a[x])
{
if (min1 == -1)
min1=x;
else if(min2== -1)
min2=x;
}
}
if(min1*min2/d<minim && min1!=-1 && min2!=-1)
minim=min1*min2/d;
}
fprintf(fout, "%lld\n", minim);
prec=n;
t--;
}
return 0;
}