CF1068A Birthday
题目描述
Ivan 正在收集硬币。共有 $N$ 种不同的可收集硬币,Ivan 已经拥有其中的 $K$ 种。Ivan 即将庆祝他的生日,所以他的 $M$ 个朋友都决定送他硬币作为礼物。他们约定了三个条件:
- 每个人送的硬币数量必须相同。
- 所有送给 Ivan 的硬币必须各不相同。
- 礼物中必须有不少于 $L$ 枚硬币是 Ivan 尚未拥有的新硬币。
但是他的朋友们并不知道 Ivan 已经拥有了哪些硬币。他们又不想多花钱,所以希望购买满足所有条件的最少数量的硬币,无论 Ivan 已经拥有的是哪些硬币。请你帮他们计算出每个朋友最少需要送多少枚硬币,或者判断无法满足所有条件。
输入格式
输入仅一行,包含四个整数 $N$、$M$、$K$、$L$($1 \le K \le N \le 10^{18}$;$1 \le M,\,\,L \le 10^{18}$),分别表示不同硬币的总数、Ivan 的朋友数、Ivan 已有的硬币数量,以及礼物中必须是新硬币的数量。
输出格式
输出一个整数,表示每个朋友最少需要送出的硬币数量,以满足所有条件。如果无法满足所有条件,则输出 $-1$。
说明/提示
在第一个测试中,每个朋友送一枚硬币就足够了,因为他将收到 15 枚不同的硬币,其中有 13 枚肯定是新的。
在第二个测试中,Ivan 有 11 个朋友,但只有 10 种不同的硬币。因此,所有朋友无法送出不同的硬币。
由 ChatGPT 4.1 翻译