数列AAの要素の最大公約数が答えとなります.
NN個の数の最大公約数を求めるため,計算量はO(NlogA)\mathrm{O}(N \log A)となります.

以下簡単な証明です.

x<yx \lt yである任意の22つの自然数xxyyについて,gcd(x,y)=gcd(x,yx)\gcd(x,y)=\gcd(x,y-x)が成り立ちます.証明は省きますが,これは非常に有名な定理であり,ユークリッド互除法でも利用されています.

上記を踏まえた上で,問題の"操作"を行う前と後での,数列の全要素の最大公約数(以下GCD)について考えます.
取り出した要素をxxyyとするとき,xxyy以外の要素のGCDが変化しないのは自明です.また,上の定理から,gcd(x,y)=gcd(x,yx)\gcd(x, y)=\gcd(x,y-x)であるため,取り出した22数についてもGCDが変化しないことがわかります.(x=yx=y のときの片方を削除する操作でもGCDが変化しないことは自明です.)

従って,最後まで数列AAのGCDは変化しないため,最後に残る数は必ず,最初の数列AAのGCDの値と等しくなります.

※ 結果がGCDになることがわからなくても,任意の 22 つの数字を取り出して y%xy\%x ,xx を戻すことを愚直にやっても同じ計算量になるため,問題ありません.

コード例(Python)