問題はこちら。
積み残していたこの問題をACしました。
解説pdfの通り、蟻本で「個数制限付き部分和問題」と紹介されている問題に帰着できるのですが、bitsetによる高速化ができることもあり、計算量解析が話題になりました。(参考:noshi91さんの記事)
……が、今試してみたところ、特に工夫せず、Pythonのbit演算で普通にDPすれば間に合いました! Pythonで2秒程度なので、十分速いですね。
今は、Kiriさんのこんな記事もあり、自分も(単純なものなら)0と1のみのDPテーブルを一つの数を代用する方法に慣れてきたと思いますが、当時は分かってなかったんですね。