30 pts
for (int j = 0; j < 10; j++)
ans[j] += f[i] * num[i];
for (int j = 1; j < num[i]; j++)
ans[j] += t[i];
long long s = 0;
for (int j = i - 1; j >= 0; j--)
s = s * 10 + num[j];
ans[num[i]] += s + 1;
100 pts
for (int j = 0; j < 10; j++)
ans[j] += f[i] * num[i];
for (int j = 0; j < num[i]; j++)
ans[j] += t[i];
long long s = 0;
for (int j = i - 1; j >= 0; j--)
s = s * 10 + num[j];
ans[num[i]] += s + 1;
ans[0] -= t[i];
大约是等效的吧,解释不出为何如此。