求大佬助
查看原帖
求大佬助
839739
guohezu0517楼主2024/5/28 13:31

我来练二分的,哪个大佬跟我说下这个check函数错哪了,谢谢

bool check(ll mid)
{
    ll sh = m;
    for (ll i = 1; i < n; i++)
    {

        if (a[i] < mid)
        {//如果最大值a[n-1]也小,应该操作
            sh -= mid - a[i];
        }
        else
        {
            if (i != i - 1)
            {
                sh += a[i] - mid;
            }
        }
    }
    if (sh >= 0)
    {
        return true;
    }
    else
    {
        return false;
    }
}
2024/5/28 13:31
加载中...