这个
in:
1
2
99999999 100000002
out:
-1
ans:
1
chk 时消除的轮数不够,n 较小时会出错。
可以将下面第一个替换为第二个
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 感觉你写的没问题啊,咋代码就不一样了?