6124: 2021年9月海淀区中小学信息学竞赛 (小学组)T4 —— 分糖果(candy)
[Creator : ]
Description
现在要给 $k$ 个人分掉 $n$ 块糖。每块糖要么分给某个人,要么被扔掉(不会有掰一半的情况)。初步设想的分糖策略是这样的:
先给参加分糖的 $k$ 个人按从 $1$ 到 $k$ 的次序编上号,小 $A$ 的序号是 $1$。首先,小 $A$ 从所有的糖果中拿出 $x$ 块给自己,接着拿出 $x$ 块给编号为 $2$ 的人,......,当给完最后一个人后,如果还有足够的糖果,这个过程会再次从 $1$ 号开始。如果到某个人的时候,剩余的糖果不够 $x$ 个,那么就扔掉剩余的糖果。
小 $A$ 不会选择一个大于 $M$ 的数作为 $x$,也不会选择一个过小的 $x$ 以至于某个人被分糖的次数超过了 $D$,这样会让大家觉得太繁琐了。
请问,小 $A$ 通过选择一个合适的 $x$,最多能让自己得到多少糖果。
先给参加分糖的 $k$ 个人按从 $1$ 到 $k$ 的次序编上号,小 $A$ 的序号是 $1$。首先,小 $A$ 从所有的糖果中拿出 $x$ 块给自己,接着拿出 $x$ 块给编号为 $2$ 的人,......,当给完最后一个人后,如果还有足够的糖果,这个过程会再次从 $1$ 号开始。如果到某个人的时候,剩余的糖果不够 $x$ 个,那么就扔掉剩余的糖果。
小 $A$ 不会选择一个大于 $M$ 的数作为 $x$,也不会选择一个过小的 $x$ 以至于某个人被分糖的次数超过了 $D$,这样会让大家觉得太繁琐了。
请问,小 $A$ 通过选择一个合适的 $x$,最多能让自己得到多少糖果。
Input
仅有一行,包括 $4$ 个整数 $n,\ k,\ M,\ D$,含义如题目描述。
Output
一行,仅有一个整数,表示题目要求的结果。
Constraints
对于所有数据:$1 \leq D \leq \text{min}(n,\ 1000),\ M \times\ D \times k \geq n,\ 1 \leq D \leq \text{min}(n,\ 1000)$;
对于 $50\%$ 的数据,$2 \leq n \leq 10^9,\ 2 \leq k \leq \text{min}(n,\ 10^6),\ 1 \leq M \leq n$;
对于另外 $50\%$ 的数据:$2 \leq n \leq 10^{18},\ 2 \leq k \leq n,\ 1 \leq M \leq n$。
对于 $50\%$ 的数据,$2 \leq n \leq 10^9,\ 2 \leq k \leq \text{min}(n,\ 10^6),\ 1 \leq M \leq n$;
对于另外 $50\%$ 的数据:$2 \leq n \leq 10^{18},\ 2 \leq k \leq n,\ 1 \leq M \leq n$。
Sample 1 Input
20 4 5 2
Sample 1 Output
8
小 $A$ 应该选择 $x=4$,他会给自己 $4$ 块糖,分别给第二、三、四个人 $4$ 块糖,最后再给自己 $4$ 块糖。没有人被给了超过 $2$ 次糖,小 $A$ 最终收到 $8$ 块糖。
如果小 $A$ 选择 $x=5$,他会给自己 $5$ 块糖;
如果小 $A$ 选择 $x=3$,他会给自己 $3+3=6$ 块糖,与第二个人一样。
小 $A$ 不能选择 $x=1$ 或者 $x=2$,因为这样会导致他收到糖的次数大于 $2$。
Sample 2 Input
30 9 4 1
Sample 2 Output
4
小 $A$ 应该选择 $x=4$,因为任何小于 $4$ 的值都会导致他少于本方案。