최대 거리

면접 대비

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

요약
두 비증가 수열 X와 Y가 주어질 때, j >= i이고 Y[j] >= X[i]를 만족하는 가장 큰 j - i를 구한다.
난이도

보통10점 중 4점

유형
배열, 투 포인터, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

두 개의 비증가(내림차순) 정수 수열 X[0..n−1]X[0..n-1] 과 Y[0..n−1]Y[0..n-1] 이 주어진다. 모든 0≤i<n−10 \le i < n-1 에 대해 X[i]≥X[i+1]X[i] \ge X[i+1], Y[i]≥Y[i+1]Y[i] \ge Y[i+1] 이다.

두 원소 X[i]X[i] 와 Y[j]Y[j] 사이의 거리 d(X[i],Y[j])d(X[i], Y[j]) 는, j≥ij \ge i 이고 Y[j]≥X[i]Y[j] \ge X[i] 이면 j−ij - i 이고, 그렇지 않으면 00 이다.

수열 XX 와 수열 YY 사이의 거리는 다음과 같이 정의된다.

d(X,Y)=max⁡{ d(X[i],Y[j])∣0≤i<n, 0≤j<n }d(X, Y) = \max\{\, d(X[i], Y[j]) \mid 0 \le i < n,\ 0 \le j < n \,\}

예를 들어 아래 그림의 수열 XX, YY 에서는 i=2i = 2, j=7j = 7 에서 최댓값에 도달하여 d(X,Y)=d(X[2],Y[7])=5d(X, Y) = d(X[2], Y[7]) = 5 이다.

입력

첫째 줄에 테스트 케이스의 수 TT 가 주어진다. 각 테스트 케이스는 세 줄로 이루어진다. 첫째 줄에는 수열의 길이 nn (0<n<10000 < n < 1000) 이, 둘째 줄에는 공백으로 구분된 수열 XX 의 원소 nn 개가, 셋째 줄에는 공백으로 구분된 수열 YY 의 원소 nn 개가 주어진다. 두 수열은 모두 비증가이며 길이가 같다.

출력

각 테스트 케이스마다 The maximum distance is d 형식으로 한 줄에 출력한다. 여기서 dd 는 d(X,Y)d(X, Y) 의 값이다. 연속한 테스트 케이스의 출력 사이에는 빈 줄을 하나 둔다.

예제2

  1. 예제 1

    입력
    2
    9
    8 8 4 4 4 3 3 3 1
    9 9 8 8 6 5 5 4 3
    7
    6 5 4 4 4 4 4
    3 3 3 3 3 3 3
    
    예상 출력
    The maximum distance is 5
    
    The maximum distance is 0
    
  2. 예제 2

    입력
    1
    1
    5
    5
    
    예상 출력
    The maximum distance is 0