hack 题解
查看原帖
hack 题解
1395112
IdtwteiNeptune楼主2025/1/9 19:31

这个  

in:
1
2
99999999 100000002      

out:           
-1

ans:        
1

chk 时消除的轮数不够,nn 较小时会出错。

可以将下面第一个替换为第二个     

forl(_,1,9)
    forl(i,1,n)
        if(b[i]>Mid)
        {
            ll need=(b[i]-Mid+1)/2;
            sum+=need;
            b[i]-=need*2;
            b[nxt(i)]+=need;
        }
forl(i,1,n+30)
    if(b[(i-1)%n+1]>Mid)
    {
        ll need=(b[(i-1)%n+1]-Mid+1)/2;
        sum+=need;
        b[(i-1)%n+1]-=need*2;
        b[nxt((i-1)%n+1)]+=need;
    }

@wmrqwq 感觉你写的没问题啊,咋代码就不一样了?

2025/1/9 19:31
加载中...