아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

중국인의 나머지 정리

시간 제한1초메모리 제한256 MB

요약
각 i에 대해 a_i ≡ b_i (mod m)가 성립하는 가장 큰 m을 구한다. a_i ≥ b_i이므로 m은 모든 차 a_i - b_i를 나누는 수 중 가장 커야 한다.
난이도

보통10점 중 6점

유형
정수론, 수학, 그리디, 구현
정답자
아직 제출이 없습니다

문제

Johnny는 컴퓨터 과학과 학생이다. 이번 학기에 그는 중국인의 나머지 정리를 완벽하게 익혔다. 다음 강의를 기다리던 중 Maggie가 숙제를 풀지 못한다고 불평하는 소리를 들었다. "모듈로"와 "연립방정식"이라는 익숙한 단어가 들리자마자 그는 곤경에 빠진 Maggie에게 도움을 주겠다고 나섰다. 알고 보니 Maggie의 과제는 Johnny가 익숙하게 풀던 것과는 전혀 달랐고, 다음과 같은 형태였다:

{a1≡b1(modm)a2≡b2(modm)⋮⋮⋮an≡bn(modm)\left\{\begin{array}{ccc} a_1 & \equiv & b_1 \pmod{m} \\ a_2 & \equiv & b_2 \pmod{m} \\ \vdots & \vdots & \vdots \\ a_n & \equiv & b_n \pmod{m} \end{array}\right.

(여기서 ≡\equiv는 모듈로 mm에 대한 합동을 뜻한다.) 주어진 a1,b1,…,an,bna_1, b_1, \dots, a_n, b_n에 대해 Maggie는 모든 방정식이 성립하도록 하는 가장 큰 mm을 구해야 한다. Maggie는 이미 방정식들을 처리하기 시작했고, 각 ii에 대해 ai≥bia_i \geq b_i임을 확인했다. Johnny는 실패해서 체면을 잃을 수 없다. 그를 도와 이 과제를 해결하자.

입력

첫째 줄에 방정식의 개수 nn (1≤n≤1051 \leq n \leq 10^5)이 주어진다.

둘째 줄에 nn개의 정수 a1,a2,…,ana_1, a_2, \dots, a_n이 공백 하나로 구분되어 주어진다. 이는 연속한 방정식들의 좌변에 해당한다.

셋째 줄이자 마지막 줄에 nn개의 정수 b1,b2,…,bnb_1, b_2, \dots, b_n이 공백 하나로 구분되어 주어진다. 이는 연속한 방정식들의 우변에 해당한다.

각 ii (1≤i≤n1 \leq i \leq n)에 대해 0≤bi≤ai≤10180 \leq b_i \leq a_i \leq 10^{18}이 성립한다. 연립방정식은 자명하지 않다. 즉, 어떤 ii (1≤i≤n1 \leq i \leq n)에 대해 ai≠bia_i \neq b_i이다.

출력

첫째 줄이자 유일한 줄에 하나의 정수를 출력한다. 이는 주어진 연립방정식이 성립하는 가장 큰 mm이다.

힌트

예제 1의 경우 연립방정식 {7≡3(mod4)17≡5(mod4)9≡1(mod4)\left\{\begin{array}{ccc} 7 & \equiv & 3 \pmod{4} \\ 17 & \equiv & 5 \pmod{4} \\ 9 & \equiv & 1 \pmod{4} \end{array}\right. 가 성립하며, m>4m > 4일 때 성립하지 않음은 쉽게 확인할 수 있다.

예제 2의 경우 연립방정식 {4≡2(mod1)6≡2(mod1)5≡2(mod1)\left\{\begin{array}{ccc} 4 & \equiv & 2 \pmod{1} \\ 6 & \equiv & 2 \pmod{1} \\ 5 & \equiv & 2 \pmod{1} \end{array}\right. 가 성립하며, m>1m > 1일 때 성립하지 않음은 쉽게 확인할 수 있다.

예제2

  1. 예제 1

    입력
    3
    7 17 9
    3 5 1
    
    예상 출력
    4
    
  2. 예제 2

    입력
    3
    4 6 5
    2 2 2
    
    예상 출력
    1