思路
考虑如何 \(\rm check\) 一组 \((L,R)\) 是否合法。
我们扣出所有相邻 \(\verb!A-A!\) 之间的长度,设有 \(m\) 段,每段长度为 \(d_i\)。
显然,对于每个 \(i\),能在第 \(i\) 段塞的 \(\verb!A!\) 的个数在区间 \([\lceil \frac{d_i}{R} \rceil-1,\lfloor \frac{d_i}{L} \rfloor -1]\) 内。
那么显然有 \(k \in [\sum \lceil \frac{d_i}{R} \rceil-1,\sum \lfloor \frac{d_i}{L} \rfloor -1]\)。
得到了这个我们就能简单二分出满足这个条件的最大的 \(L\) 和最小的 \(R\),设它们分别为 \(L_0\) 和 \(R_0\)。
但是别忘了,若 \((L,R)\) 合法还要满足 \(\lceil \frac{d_i}{R} \rceil \le \lfloor \frac{d_i}{L} \rfloor\)。
当 \(L_0 \ge R_0\) 时我们发现任取 \((L,R)\) 满足 \(L,R \in [R_0,L_0]\) 均合法,此时答案为 \(0\)。
当 \(L_0 < R_0\) 时我们发现任取 \((L,R)\),\(\lceil \frac{d_i}{R} \rceil\) 最多比 \(\lfloor \frac{d_i}{L} \rfloor\) 大 \(1\),此时对于每一段,我们发现当且仅当 \(L \in (s_i,L_0]\) 且 \(R \in [R_0,t_i)\) 时非法,于是我们可以求出 \(s_i\) 和 \(t_i\),问题转化成 \((L,R)\) 要么满足 \(L \le s_i\),要么满足 \(R \ge t_i\),简单贪心即可。