ll dp[51][1 << 13], ans; int a[50]; { int @n; rd(a(n)); sort(a, a + n); dp[0][0] = 1; rep(i, n) { rrep(l, i + 1) { rrep(s, 100 * l + 1) { if(dp[l][s] == 0) { continue; } int ss = s + a[i]; dp[l + 1][ss] += dp[l][s]; if(l > 0 && ss % l == 0 && a[i] <= ss / l) { ans += dp[l][s]; } } } } wt(ans); }