只做了 A,成功被 sb 错误卡住。
每次挑最右边的左移。
每次一定是优先向最近的怪物打,打完一个打下一个最近的。
子弹不一定只能打两个怪物,所以打的时候用循环判断子弹是否打完。
-
l = r 不行
-
否则考虑全 1 再把所有 \(c_i=1\) 的都 +1,这需要 \(cnt1[r]-cnt1[l-1]+(r-l+1)\),\(cnt1[i]\) 表示前 \(i\) 个中 \(1\) 的个数。
如果 \(s[r]-s[l-1]<\text{上面的式子}\),就可以放下;否则就是不能。
注意是 \(<\) 不是 \(\le\)。