점프 킹 4
점프 킹은 수직선 위의 \(A\)에서 출발하여 \(B\)에 도착하려고 한다.
점프 킹은 서로 다른 세 가지 점프 능력을 가지고 있다. 각 능력으로 한 번 점프하면 현재 위치에서 각각 \(X,Y,Z\)만큼 오른쪽으로 이동한다. 같은 능력을 여러 번 사용해도 되며, 한 번 점프하는 데에는 항상 1초가 걸린다.
수직선 위의 위치 \(K\)에는 착지할 수 없다. 점프 도중 위치 \(K\)를 지나가는 것은 가능하지만, 점프를 마친 뒤 위치 \(K\)에 착지할 수는 없다.
\(B\)를 지나치는 점프는 할 수 없다. 점프 킹이 정확히 \(B\)에 도착하는 데 필요한 최소 시간을 구하여라. 도착할 수 없다면 -1을 출력한다.
입력
첫째 줄에 출발 위치 \(A\)와 도착 위치 \(B\)가 공백으로 구분되어 주어진다.
둘째 줄에 세 점프 능력 \(X,Y,Z\)가 공백으로 구분되어 주어진다.
셋째 줄에 착지할 수 없는 위치 \(K\)가 주어진다.
출력
정확히 \(B\)에 도착하는 데 필요한 최소 시간을 출력한다. 도착할 수 없다면 -1을 출력한다.
제한
- \(1 \le A < K < B \le 1,000\)
- \(1 \le X,Y,Z \le 1,000\)
- 세 점프 능력은 서로 다르다.
- 입력으로 주어지는 값은 모두 정수이다.
예제 입력 1
1 15
2 5 7
8
예제 출력 1
3
1에서 3, 10, 15의 순서로 이동하면 3초 만에 도착할 수 있다.
예제 입력 2
1 5
2 5 6
3
예제 출력 2
-1
예제 입력 3
100 103
3 7 13
101
예제 출력 3
1
코멘트