Official

F - Potion Editorial by kyopro_friends


何個の素材を合成するか全探索します。

\(\sum A_i \leq X\) の制約から、合成する素材の個数 \(C\) を固定したときには、「\(A_i\) の中からちょうど \(C\) 個選んだときの和であって、 \(\bmod C\)\(X\) と等しいものの最大値は?」という問題が解ければよいです。

これは

\(dp[i][j][k]=i\) 番目までから \(j\) 個選んだときの和であって、\(\bmod C\)\(k\) に等しいようなものの最大値

というDPにより \(O(NC^2)\) で求めることができるので、全体で \(O(N^4)\) で求めることができます。

posted:
last update: