10454: USACO 2024 US Open Contest, Platinum Problem 3. Activating Robots
[Creator : ]
Description
You and a single robot are initially at point $0$ on a circle with perimeter $L$
($1 \le L \le 10^9$). You can move either counterclockwise or clockwise along
the circle at $1$ unit per second. All movement in this problem is continuous.
Your goal is to place exactly $R-1$ robots such that at the end, every two
consecutive robots are spaced $L/R$ away from each other ($2\le R\le 20$, $R$
divides $L$). There are $N$ ($1\le N\le 10^5$) activation points, the $i$th of
which is located $a_i$ distance counterclockwise from $0$ ($0\le a_i<L$). If you are
currently at an activation point, you can instantaneously place a robot at that
point. All robots (including the original) move counterclockwise at a rate of
$1$ unit per $K$ seconds ($1\leq K\leq 10^6$).
Compute the minimum time required to achieve the goal.
Input
The first line contains $L$, $R$, $N$, and $K$.
The next line contains $N$ space-separated integers $a_1,a_2,\dots,a_N$.
Output
The minimum time required to achieve the goal.
Constraints
- Inputs 5-6: $R=2$
- Inputs 7-12: $R\le 10, N\le 80$
- Inputs 13-20: $R\le 16$
- Inputs 21-24: No additional constraints.
Sample 1 Input
10 2 1 2
6
Sample 1 Output
22
We can reach the activation point at $6$ in $4$ seconds by going clockwise. At
this time, the initial robot will be located at $2$. Wait an additional $18$
seconds until the initial robot is located at $1$. Now we can place a robot to
immediately win.
Sample 2 Input
10 2 1 2
7
Sample 2 Output
4
We can reach the activation point at $7$ in $3$ seconds by going clockwise. At
this time, the initial robot will be located at $1.5$. Wait an additional second
until the initial robot is located at $2$. Now we can place a robot to
immediately win.
Sample 3 Input
32 4 5 2
0 23 12 5 11
Sample 3 Output
48
24 3 1 2
16
48