만드는 중입니다

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

시간을 되돌릴 수 있다면

시간 제한2초메모리 제한2048 MB

요약
현재 높이 h를 주어진 과거 높이 p에서 만들 수 있는 최소 침식 연수를 구하고, 불가능하면 -1을 출력합니다.
난이도

보통10점 중 6점

유형
배열, 구현
정답자
아직 제출이 없습니다

문제

이나는 열성적인 등산가이다. 그녀는 높이가 h1,h2,…,hnh_1, h_2, \ldots, h_n인 산 nn개로 이루어진 산맥을 방문하고 있다.

근처 가게에서 이나는 과거 어느 시점에 산들의 높이가 같은 순서로 p1,p2,…,pnp_1, p_2, \ldots, p_n였다고 적힌 책을 발견했다. 하지만 이 책이 얼마나 오래되었는지는 알 수 없다.

이 책은 해마다 산을 조금씩 깎아 내리는 침식 모델도 설명한다. 매년 날씨에 따라 높이 기준값 xx가 정해진다. 현재 높이가 xx 이상인 산은 높이가 정확히 1 줄어든다. 해마다 xx 값은 달라질 수 있다.

이나는 이 책이 얼마나 오래되었는지, 그리고 이 모델이 타당한지 알고 싶다. 침식으로 산들의 높이가 p1,…,pnp_1, \ldots, p_n에서 같은 순서의 h1,…,hnh_1, \ldots, h_n으로 바뀌는 데 걸리는 최소 연수를 구하거나, 이 모델로는 불가능하다는 것을 밝혀라.

입력

첫 줄에는 테스트 케이스의 개수 tt (1≤t≤1041 \le t \le 10^4)가 주어진다. 각 테스트 케이스는 다음과 같다.

테스트 케이스의 첫 줄에는 산의 개수 nn (1≤n≤1051 \le n \le 10^5)이 주어진다.

둘째 줄에는 현재 산들의 높이 h1,h2,…,hnh_1, h_2, \ldots, h_n (1≤hi≤1061 \le h_i \le 10^6)이 주어진다.

셋째 줄에는 과거 같은 순서의 산들의 높이 p1,p2,…,pnp_1, p_2, \ldots, p_n (1≤pi≤1061 \le p_i \le 10^6)이 주어진다.

모든 테스트 케이스의 nn을 합하면 10510^5을 넘지 않는다.

출력

각 테스트 케이스마다, 침식으로 산들의 높이를 p1,…,pnp_1, \ldots, p_n에서 h1,…,hnh_1, \ldots, h_n으로 바꿀 수 있는 최소 연수를 출력한다. 모델이 타당하지 않으면 대신 −1-1을 출력한다.

힌트

첫 번째 테스트 케이스에서 산들의 높이는 (5,3,6,2)(5, 3, 6, 2)에서 (3,2,4,2)(3, 2, 4, 2)로 단 2년 만에 바뀔 수 있다.

  • 첫 해에 x=4x = 4라고 하자. 이 해가 끝나면 높이는 (4,3,5,2)(4, 3, 5, 2)가 된다.
  • 둘째 해에 x=3x = 3이라고 하자. 이 해가 끝나면 높이는 (3,2,4,2)(3, 2, 4, 2)가 된다.

예제1

  1. 예제 1

    입력
    4
    4
    3 2 4 2
    5 3 6 2
    1
    10
    100000
    5
    1 2 3 4 5
    1 2 3 4 5
    3
    1 4 6
    4 1 8
    
    예상 출력
    2
    99990
    0
    -1