题意:牛牛有k颗糖,要和n个朋友分享,且每个朋友得到的糖果要比牛牛多,求牛牛最多能得到几颗糖果。

我的想法:一共有n+1个人,将k颗糖平均分成n+1份;当k%(n+1)==n 时,将剩余的n颗糖,n个朋友每人再拿一颗,牛牛拿k/(n+1)颗(在平均的情况下,每个朋友都只比牛牛多一颗)。当k%(n+1)< n 时,牛牛最多只能拿k/(n+1)-1颗(在平均的情况下,牛牛比任意朋友至少少一颗)。

由于题目给的k>=n,容易推知,当k%(n+1)< n 时,k/(n+1)-1>=0。
本菜代码

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 返回牛牛能吃到的最多糖果数
     * @param n long长整型 
     * @param k long长整型 
     * @return long长整型
     */
    long long Maximumcandies(long long n, long long k) {
        // write code here
        if(k%(n+1)==n) return k/(n+1);
        else return k/(n+1)-1;
    }
};