점프 킹 3
점프 킹은 수직선 위의 \(A\)에서 출발하여 \(B\)에 도착하려고 한다.
점프 킹은 서로 다른 다섯 가지 점프 능력을 가지고 있다. 각 능력으로 한 번 점프하면 현재 위치에서 각각 \(X_1,X_2,X_3,X_4,X_5\)만큼 오른쪽으로 이동한다. 같은 능력을 여러 번 사용해도 되며, 한 번 점프하는 데에는 항상 1초가 걸린다.
\(B\)를 지나치는 점프는 할 수 없다. 점프 킹이 정확히 \(B\)에 도착하는 데 필요한 최소 시간을 구하여라. 도착할 수 없다면 -1을 출력한다.
입력
첫째 줄에 출발 위치 \(A\)와 도착 위치 \(B\)가 공백으로 구분되어 주어진다.
둘째 줄에 다섯 점프 능력 \(X_1,X_2,X_3,X_4,X_5\)가 공백으로 구분되어 주어진다.
출력
정확히 \(B\)에 도착하는 데 필요한 최소 시간을 출력한다. 도착할 수 없다면 -1을 출력한다.
제한
- \(1 \le A \le B \le 1,000,000\)
- \(1 \le X_i \le 1,000,000\)
- 다섯 점프 능력은 서로 다르다.
- 입력으로 주어지는 값은 모두 정수이다.
예제 입력 1
1 15
2 4 5 7 9
예제 출력 1
2
7칸 점프를 두 번 사용하면 1에서 15에 도착할 수 있다.
예제 입력 2
3 10
2 4 6 8 10
예제 출력 2
-1
예제 입력 3
500 500
7 13 29 41 53
예제 출력 3
0
코멘트