http://codeforces.com/problemset/problem/1068/A
A. Birthday 计算
一共n种硬币,小萌已经有了k种硬币,小萌的m个朋友想每人送给小萌一些硬币,且满足以下条件,求每个人最少送几枚硬币。
1. 每人送的个数相等且所有要送的硬币种类不同。
2. 小萌最后收到的硬币至少包含L种她没有的。
计算题,求满足ans∗m>=k+l且ans∗m<=n的最小ans
ll ans = (k+l+m-1)/m;
> printf("%I64d\n",ans*m>n?-1:ans );
#include<cstdio>
using namespace std;
long long n,m,l,k,ans;
int main()
{
while (~scanf("%lld%lld%lld%lld",&n,&m,&k,&l)){
ans=(k+l)/m;
if (ans*m<k+l) ans++;
if (ans*m>n) printf("-1\n");else printf("%lld\n",ans);
}
}