3070: 2021年海淀区信息学奥林匹克小学组 分糖果(candy)

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:5 解决:0

题目描述

现在要给 k个人分掉n 块糖。每块糖要么分给某个人,要么被扔掉(不会有掰一半的情况)。初步设想的分糖策略是这样的:先给参加分糖的 k个人按从1 到k 的次序编上号,小A 的序号是1 。首先,小A 从所有的糖果中拿出X 块给自己,接着拿出x 块给编号为2 的人,……,当给完最后一个人后,如果还有足够的糖果,这个过程会再次从1 号开始。如果到某个人的时候,剩余的糖果不够x 个,那么就扔掉剩余的糖果。小 A不会选择一个大于M 的数作为x ,也不会选择一个过小的x 以至于某个人被分糖的次数超过了D (这样会让大家觉得太繁琐了)。 请问:小A 通过选择一个合适的 ,最多能让自己得到多少糖果?

点击视频讲解

输入

仅有一行,包含 4个整数 n,k,M,D含义如题目所述。

输出

一行,仅有一个整数,表示题目要求的结果。

样例输入 复制

20 4 5 2

样例输出 复制

8