问题 4881 --大象的收藏

4881: 大象的收藏★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 50  解决: 11
[提交][状态][命题人:]

题目描述

大象非常喜欢收藏各种稀罕物品,硬币就是他的最爱。你看,大象最近又开始收集硬币了。现共有N种不同的硬币,大象已经收集到了K种,剩下的硬币他怎么都收集不到,大象可急坏了。 好消息是,大象马上就要过生日了,它的朋友们都知道大象在收集硬币,所以它的M个朋友决定送他硬币作为生日礼物。为了帮助大象收集到尽可能多种类的硬币,他们都遵循以下三条规则 

1、每个人赠送的硬币都必须和别人一样多。 

2、每个人给大象的硬币中,都至少有一枚与其他所有人不同。 

3、必须让大象增加至少L种新的硬币(即与大象自己收集到的K种硬币不同)。 

    但它的朋友们不知道大象已经收藏了哪些硬币。大象的朋友们都不太富裕,不想多花钱,所以他们想买最低数量的硬币,可以满足以上所有条件。请你帮助他们找到最小数量的硬币,或者断定不可能满足所有的条件。

输入

第一行输入4个整数:不同硬币的数量N, 大象的朋友的数量M, 大象已经收集到的硬币种类数 K和大象至少新增的硬币的种数L(1KN1018; 1M,L1018) 

输出

输出一个正整数,它代表使所有朋友可以满足所有条件时,大象的每个朋友所需要的硬币的最少枚数。 如果不可能满足所有以上条件,则输出“-1”(不带引号)。
样例输入
Copy
20 15 2 3
样例输出
Copy
1

提示

在第一个样例中,每个朋友只要送一枚硬币就足够了,因为大象将收到15枚不同的硬币,其中13枚肯定是新的。

 样例2输入:

10 11 2 4

样例2输出:

-1


在第二个测试中,大象有11个朋友,但只有10种不同的硬币。所以所有的朋友不能给他不同的硬币,即至少两个朋友给的硬币是完全一样的。

来源

[提交][状态]