考虑差分之后每段贡献,将 \(B\) 重排完之后相当于一个无限背包,每次要你选出一个数,不超过背包容量能够得到的最大的数是什么,发现得到的式子是一个平方项,因此直接做复杂度是 \(O(n\sqrt n)\)。