341.1

続き。問題は簡単で答えはすぐ分かるので、細々としたところの調整がめんどくさいのを実装するだけ。

1000

先頭の数字が0-9のものがK桁でいくつ作れるか、というのは漸化式を書けば行列乗算で計算できる。また、先頭の数字が0以外のものは、そこで打ち切ればそのときの桁数の数の個数に合致する。つまり、1-9については総和を取るような漸化式を追加してやれば、K桁以下の数の総数が計算できる。


後は、K桁以下の数の総数が上回らない最大のKを計算して、その分除去し、それ以降は先頭の桁を順番に適当に決めて、その桁とその次の桁が選択可能になるように選びながら、余分な分を除去していくだけ。


実装によっては0をカウントするように組まないとうまくいかなかったりすることがあるので、適宜帳尻合わせが必要...。