만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

또 다른 컨볼루션

시간 제한4초메모리 제한512 MB

요약
길이 n인 배열 a와 b가 주어졌을 때, 각 k에 대해 gcd(i, j)가 k인 모든 쌍 (i, j)에서 |a_i - b_j|의 최댓값을 구합니다.
난이도

어려움10점 중 9점

유형
정수론, 수학, 분할 정복
정답자
아직 제출이 없습니다

문제

길이가 nn인 정수 배열 a1,…,ana_1, \dots, a_n과 b1,…,bnb_1, \dots, b_n이 주어진다. 다음과 같이 정의된 배열 c1,…,cnc_1, \dots, c_n을 구하라.

ck=max⁡gcd⁡(i,j)=k∣ai−bj∣c_k = \max_{\gcd(i,j)=k} |a_i - b_j|

입력

첫 줄에 정수 nn (1≤n≤1051 \le n \le 10^5)이 주어진다. 둘째 줄에는 nn개의 정수 a1,…,ana_1, \dots, a_n (1≤ai≤1091 \le a_i \le 10^9)이 주어진다. 셋째 줄에는 nn개의 정수 b1,…,bnb_1, \dots, b_n (1≤bi≤1091 \le b_i \le 10^9)이 주어진다.

출력

정수 nn개 c1,…,cnc_1, \dots, c_n을 출력한다.

예제1

  1. 예제 1

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