警示后人
查看原帖
警示后人
241817
Chancylaser楼主2022/12/30 12:32

如果您的代码类似这种,最后需要加1:

    while(l<r){
        int mid=(l+r+1)>>1;
        if(check(mid)) l=mid;
        else r=mid-1;
    }
    printf("-1\n%d",l+1);

而且您Wa at 3。

也许是您的 ll 初始值为1,这样的话即使第一个不符合,也会输出2,所以 ll 的初始值应该设置为 0。

2022/12/30 12:32
加载中...