N - Two Cakes 贪心思维

传送门
思路:暴力枚举,维护一个最大ave即可。
两个蛋糕一个被分成i 另一个被分为 n - i,它们的平均值即为它们当前态所能分割的最小值(因为总有另一个蛋糕占去一部分,所以小于平均值的一部分数是可以通过当前数值补齐的),所以求出每种态的一个最小值,再维护出一个最小值中的max即可。

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
    int n, a, b, ans = 0;
    cin >> n >> a >> b;
    int minn = 1e6;
    for(int i = 1; i < n;i++)
    {
        int ta = a / i;
        int tb = b /(n - i);
        minn = min(ta, tb);
        ans = max(minn, ans);
    }
    cout << ans << endl;
    return 0;
}

发布了241 篇原创文章 · 获赞 8 · 访问量 4939

猜你喜欢

转载自blog.csdn.net/weixin_43960370/article/details/103230275
two
今日推荐