この問題の制約下では f(x,B)f(x,B) の最大値は f(10151,1015)=f(999999999999999,1000000000000000)=136f(10^{15}-1,10^{15})=f(999999999999999,1000000000000000)=136 であり、大体は f(x,B)f(x,B) の方が答えに寄与します。これに注目して、

  • dpi,small=(idp_{i,small}=(i 桁目まで見て AA 以下となることが確定して[いる・いない]状態の通り数とそのようなもの全てに対する ff の値の総和)) とした桁DPを用いて ans:=x=0Af(x,B)ans:=\displaystyle \sum_{x=0}^{A} f(x,B) を求める
  • xB|x-B| が寄与しうる xxB136B-136 から B+136B+136 までの高々 273273 通り)について愚直に寄与を求めて ansans を修正する

といった処理を行うとこの問題が解けます。