解法
のうち、
をある値に決めた際にペアの相手となりうる
の個数がいくらか、を高速で求めることができれば、
について全探索をして数え上げれば良いです。
の値を決め打ったときに、
の末尾の値と先頭の値は固定されてしまいます。
前者はの先頭(これを
とします)、後者は
の末尾(これを
とします)です。
これ以降は、となるような数を、桁ごとに数え上げていきます。
まず、
と
の値が等しいとき、
という1桁の数が
の候補になります。答えに1加算します。
桁(ただし2以上)の
で、
の候補になるようなものが何通りあるかを考えます。
まず、桁の場合、少なくとも
以上の数字であることが確定します。
そして、の
の部分は、
桁であり、
から
までの
通りあることがわかります。
これらのパターンが、以下であるかどうかチェックしつつ加算するには、
を計算してあげればよいです。