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=1nSiMi=1nAi\sum\limits_{i=1}^nS_i\le M-\sum\limits_{i=1}^nA_i

也就是把原有的 i=1nAi\sum\limits_{i=1}^n A_i 个元素和 n1n-1 可板子放在一起,然后在 i=1nAi+n\sum\limits_{i=1}^nA_i+n 可空子里插入不超过 Mi=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+Y1Y1)X+Y-1\choose Y-1

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

((Mi=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+Mi=1nAi+n)n+M\choose \sum\limits_{i=1}^n A_i+n