{
vector<
long
long
> result(10, 0);
for
(
long
long
i = 1; i <= 9; i++)
{
for
(
long
long
v = 1; v*i <= r; v*=10)
{
long
long
step;
long
long
start = v*i, end = min(v*i + v - 1, r);
for
(
long
long
j = start; j <= end; j += step)
{
long
long
a = r / j, b = r % j;
step = 1;
step += min(b / a, end - j);
result[i] += a * step;
}
}
}
return
result;
}