for (long long i = 0; i < n; ++i) { ++d[0]; for (int j = 0; j + 1 < len; ++j) { if (d[j] == k) { d[j] = 0; d[j + 1] += 1; ++ans; } } if (d[len - 1] == k) { d[len - 1] = 0; d[len] = 1; ++len; ++ans; } }