multinomial
Computes C(k_1 + … + k_n, k_1, k_2, …, k_n) = ((Σ k_i)!)/(k_1!k_2!...k_n!).
5 lines Tested on kattis:lexicography
content/combinatorial/multinomial.h — Mattias de Zalenski, Fredrik Niemelä, Per Austrin, Simon Lindholm, source: Max Bennedich
ll multinomial(vi& v) {
ll c = 1, m = v.empty() ? 1 : v[0];
rep(i,1,sz(v)) rep(j,0,v[i]) c = c * ++m / (j+1);
return c;
}