Farmer John, 실제로 농사를 짓다
시간 제한2초메모리 제한1024 MB
각 식물의 키 h_i + a_i*D보다 큰 식물이 정확히 t_i개가 되도록 하는 최소 일수 D를 구합니다. 불가능하면 -1을 출력합니다.
문제
Farmer John은 농장에서 아스파라거스 식물 개()를 기르고 있다. 유전적 차이가 있는 식물도 있어서, 식물마다 자라는 속도가 다르다. 번째 식물의 초기 높이는 인치이고, 하루가 지날 때마다 인치씩 자란다.
FJ는 일부 식물을 다른 식물보다 더 좋아해서, 특정 식물이 다른 식물보다 키가 크기를 원한다. FJ는 서로 다른 값으로 이루어진 배열 을 준다. 이 배열에는 0부터 까지의 모든 정수가 들어 있다. 번째 식물보다 키가 큰 다른 식물이 정확히 개가 되어야 한다. 이 요구를 만족하는 데 필요한 최소 일수를 구하라. 요구를 만족할 수 없다면 그렇게 판단하라.
입력
첫 줄에 테스트 케이스의 개수 ()가 주어진다.
각 테스트 케이스의 첫 줄에는 정수 이 주어진다.
둘째 줄에는 개의 정수 ()가 주어진다. 는 번째 식물의 초기 높이(인치)이다.
셋째 줄에는 개의 정수 ()가 주어진다. 는 번째 식물이 하루마다 자라는 길이(인치)이다.
넷째 줄에는 서로 다른 개의 정수 가 주어진다.
모든 테스트 케이스의 의 합은 을 넘지 않는다.
출력
개의 줄에 각 테스트 케이스의 답을 한 줄에 하나씩 출력한다. 요구를 만족할 수 없으면 을 출력한다.
값이 매우 커질 수 있으므로 C/C++의 long long 같은 64비트 정수 자료형을 사용해야 한다.