残りの持ち金が \(i\) 円のときに, 2本前の竹の長さが \(j2\), 1本前の竹の長さが \(j1\) であるときの最大の竹の長さを \(T(i, j2, j1)\) とする.

そうすると,

\[T(i-W_k, j1, L_k) = \max \{ T(i-W_k, j1, L_k), T(i, j2, j1) + L_k \}\]

で更新していける. \(W_k \gt 0\) なので, 持ち金が多い方から順に更新していけば問題ない.