Informatică, întrebare adresată de elfandreisp84y1q, 8 ani în urmă

Cerința
Se dau două șiruri de câte N numere fiecare. Se cere să se găsească valoarea maximă a celui mai mare divizor comun a două numere A și B, astfel încât A să aparțină primului șir, iar B să aparțină celui de-al doilea șir.

Date de intrare
În fișierul gcd.in se va afla pe prima linie un număr reprezentând valoarea lui N. Pe cea de-a doua linie se vor afla N numere separate prin câte un spațiu, reprezentând elementele primului șir. Pe cea de-a treia linie se vor afla N numere separate prin câte un spațiu, reprezentând elementele celui de-al doilea șir.

Date de ieșire
În fișierul gcd.out se va afla pe primia linie un număr natural reprezentând valoarea maximă a celui mai mare divizor comun a două numere A și B, astfel încât A să aparțină primului șir, iar B să aparțină celui de-al doilea șir.

Restricții și precizări
N <= 500.000
Elementele celor două șiruri <= 1.000.000
Pentru 40% din teste, N <= 1.000

Exemplu
gcd.in

5
3 1 4 2 8
5 2 12 8 3
gcd.out

8
Explicație
A = 8, B = 8, iar (A,B) = 8 este valoarea maximă a celui mai mare divizor comun a vreunei perechi.

Răspunsuri la întrebare

Răspuns de ap53
7

Ti-am atasat solutia in C++. Sper sa te descurci.

Anexe:
Alte întrebări interesante