过了样例但只有30分,后面7个全WA
#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#include <iostream>
#define ll long long
using namespace std;
ll f[50], l, r, ans[2][20];
void slv(ll m, ll* a) {
if (m < 10) {
for (ll i = 1; i <= m; i++) {
a[i]++;
}
return;
}
ll j = 1, i = 0;
for (ll x, strt = 0, n = m; n > 0; i++) {
if (n < 10) {
strt = 1;
}
x = n % 10;
for (ll k = 0; k <= 9; k++) {
a[k] += (x - strt) * f[i];
}
for (ll k = strt; k < x; k++) {
a[k] += j;
}
a[strt]--;
a[x]++;
n /= 10;
for (int k = n; k > 0; k /= 10) {
a[k % 10] += (x - strt) * j;
}
j *= 10;
}
j /= 10;
i--;
//printf("%lld\n", j);
a[0] += i;
a[1]++;
slv(j - 1, a);
}
int main()
{
scanf("%lld%lld", &l, &r);
for (ll i = 1, j = 1; i <= 15; i++) {
f[i] = 10 * f[i - 1] + j;
j *= 10;
}
slv(l - 1, ans[0]);
slv(r, ans[1]);
for (ll i = 0; i <= 9; i++) printf("%lld ", ans[1][i] - ans[0][i]/**/);
return 0;
}