시간을 되돌릴 수 있다면
시간 제한2초메모리 제한2048 MB
현재 높이 h를 주어진 과거 높이 p에서 만들 수 있는 최소 침식 연수를 구하고, 불가능하면 -1을 출력합니다.
문제
이나는 열성적인 등산가이다. 그녀는 높이가 인 산 개로 이루어진 산맥을 방문하고 있다.
근처 가게에서 이나는 과거 어느 시점에 산들의 높이가 같은 순서로 였다고 적힌 책을 발견했다. 하지만 이 책이 얼마나 오래되었는지는 알 수 없다.
이 책은 해마다 산을 조금씩 깎아 내리는 침식 모델도 설명한다. 매년 날씨에 따라 높이 기준값 가 정해진다. 현재 높이가 이상인 산은 높이가 정확히 1 줄어든다. 해마다 값은 달라질 수 있다.
이나는 이 책이 얼마나 오래되었는지, 그리고 이 모델이 타당한지 알고 싶다. 침식으로 산들의 높이가 에서 같은 순서의 으로 바뀌는 데 걸리는 최소 연수를 구하거나, 이 모델로는 불가능하다는 것을 밝혀라.
입력
첫 줄에는 테스트 케이스의 개수 ()가 주어진다. 각 테스트 케이스는 다음과 같다.
테스트 케이스의 첫 줄에는 산의 개수 ()이 주어진다.
둘째 줄에는 현재 산들의 높이 ()이 주어진다.
셋째 줄에는 과거 같은 순서의 산들의 높이 ()이 주어진다.
모든 테스트 케이스의 을 합하면 을 넘지 않는다.
출력
각 테스트 케이스마다, 침식으로 산들의 높이를 에서 으로 바꿀 수 있는 최소 연수를 출력한다. 모델이 타당하지 않으면 대신 을 출력한다.
힌트
첫 번째 테스트 케이스에서 산들의 높이는 에서 로 단 2년 만에 바뀔 수 있다.
- 첫 해에 라고 하자. 이 해가 끝나면 높이는 가 된다.
- 둘째 해에 이라고 하자. 이 해가 끝나면 높이는 가 된다.