Problem S1: Baby Hop, Giant Hop
2026 · S1 · Original problem · DMOJProblem Description
Samantha the Frog is hopping between lily pads arranged in a straight line, evenly spaced. There are an infinite number of lily pads. The lily pads are numbered, in order, using integers. For every integer, there is also a lily pad.
Samantha starts on a lily pad numbered and would like to hop onto a lily pad numbered . She can take a giant hop of length , or a baby hop of length . Each hop can be either forwards or backwards.
Samantha would like to know the fewest number of hops needed to get from to . But sometimes, she would like to know the second fewest number of hops needed.
Input Specification
The first line of input contains a single integer, , the starting lily pad .
The second line of input contains a single integer, , the ending lily pad .
The third line of input contains a single integer, , the distance of a giant hop .
The fourth line of input contains the integer, , which is either or , indicating if the fewest (when ) or second fewest (when ) number of steps should be found.
The following table shows how the available marks are distributed:
| Marks | Bounds on , | Bounds on | Bounds on | Additional Restrictions |
|---|---|---|---|---|
| Only hops in the positive direction needed | ||||
| None | ||||
| or | None | |||
| or | None |
Note that for full marks, solutions will need to handle 64-bit integers. For example:
-
in C/C++, the type
long longshould be used; -
in Java, the type
longshould be used.
Output Specification
On a single line, output:
-
the fewest number of hops, if
-
the second fewest number of hops, if
required to move from lily pad to lily pad .
Sample Input 1
0
10
3
1Output for Sample Input 1
4Explanation of Output for Sample Input 1
Samantha hops to lily pads labeled , , and , with three giant hops, and then hops to the lily pad labeled with one baby hop.
Sample Input 2
0
11
4
1Output for Sample Input 2
4Explanation of Output for Sample Input 2
Samantha hops to lily pads labeled , , and , with three giant hops, and then hops to the lily pad labeled with one (backwards) baby hop.
Sample Input 3
0
11
4
2Output for Sample Input 3
5Explanation of Output for Sample Input 3
The fewest number of hops needed was found in Sample 2. In this input, the second fewest number of steps is to be found, since . Samantha hops to lily pads labeled and with two giant hops, and then hops to the lily pad labeled with three baby hops.
Sample Input 4
0
0
3
1Output for Sample Input 4
0