2배 최대공약수
시간 제한2초메모리 제한1024 MB
카드 N장에 적힌 수 x, y를 골라 2 * gcd(x, y)로 바꾸는 과정을 N-1번 반복합니다. 마지막에 남는 카드에 적힐 수의 최댓값을 구합니다.
문제
덱에 장의 카드가 있고, 카드에는 1번부터 번까지 번호가 붙어 있다. 번 카드에는 양의 정수 가 적혀 있다.
카드로 번의 이동을 한다. 이동 한 번마다 덱에서 카드 두 장을 고른다. 고른 카드에 적힌 정수를 각각 , 라고 하면, 두 카드를 덱에서 제거하고 가 적힌 새 카드를 덱에 넣는다. 여기서 는 와 의 최대공약수이다. 두 장을 빼고 한 장을 넣으므로, 이동 한 번에 덱의 카드는 한 장 줄어든다.
번의 이동을 모두 마치면 카드는 한 장만 남는다. 마지막 카드에 적힌 정수의 최댓값을 구하여 출력한다.
입력
첫 줄에 카드의 수 ()이 주어진다. 다음 줄에는 개의 정수 ()이 주어진다. 는 번 카드에 적힌 수이다.
출력
마지막 카드에 적힌 정수의 최댓값을 한 줄에 출력한다.