设 SS 数组满足:

∏i=1n(BiAi)=∏i=1n(Ai+SiAi)\prod\limits_{i=1}^{n}{B_i\choose A_i}=\prod\limits_{i=1}^n{A_i+S_i\choose A_i}

那么这个题目的意思就转化为了现在有 nn 组,每一组都有 AiA_i 个元素,现在向内加入 SiS_i 个元素,需要满足 ∑i=1nSi≤M−∑i=1nAi\sum\limits_{i=1}^nS_i\le M-\sum\limits_{i=1}^nA_i。

也就是把原有的 ∑i=1nAi\sum\limits_{i=1}^n A_i 个元素和 n−1n-1 可板子放在一起,然后在 ∑i=1nAi+n\sum\limits_{i=1}^nA_i+n 可空子里插入不超过 M−∑i=1nAiM-\sum\limits_{i=1}^n A_i 个元素。

先解决不超过的问题,考虑直接新添加一个空子把不用的元素全部丢过去,所以现在的空子就有 ∑i=1nAi+n+1\sum\limits_{i=1}^nA_i+n+1 个了。

把 XX 个元素插入 YY 个空子就相当于把 XX 个元素分为 YY 组,其中每一组可以为空。

那么用插板法做就是 (X+Y−1Y−1)X+Y-1\choose Y-1。

把 X=M−∑i=1nAi,y=∑i=1nAi+n+1X=M-\sum\limits_{i=1}^n A_i,y=\sum\limits_{i=1}^n A_i+n+1 带入式子得到:

((M−∑i=1nAi)+(∑i=1nAi+n+1)−1(∑i=1nAi+n+1)−1){(M-\sum\limits_{i=1}^n A_i)+(\sum\limits_{i=1}^n A_i+n+1)-1\choose (\sum\limits_{i=1}^nA_i+n+1)-1}

化简之后得到:

(n+M∑i=1nAi+n)n+M\choose \sum\limits_{i=1}^n A_i+n