E - Stop. Otherwise...
https://atcoder.jp/contests/arc102/tasks/arc102_c
あるiについて考えると合計がiとなるようなペアがp種類存在する
この時、ペアの片方は自由に選べ、選ぶ物の数をq種類とする
するとiが奇数の時に
res += pCq * 2^q * k-2p+q H n-q となる
全てのqについて上を行えばいい
Submission #4418953 - AtCoder Regular Contest 102
void solve() { cin >> k >> n; setMod(998244353); vm p2(k5); p2[0] = 1; rep(i, 1, k5)p2[i] = p2[i - 1] * 2; rep(i, 2, k * 2 + 1) { int p = 0; rep(l, 1, k + 1) { int r = i - l; if (r > k || l > r)con; p++; } mint res = 0; rep(q, p + 1) { if (i % 2) { res += com(p, q) * p2[q] * nhr(k - 2 * p + q, n - q); } else { res += com(p - 1, q) * p2[q] * (nhr(k - 2 * p + 1 + q, n - q)); res += com(p - 1, q) * p2[q] * (nhr(k - 2 * p + 1 + q, n - q - 1)); } } cout << res << endl; } }