Ну, грубо говоря, предлагается строить не число, а массив из
![$B$ $B$](https://dxdy-03.korotkov.co.uk/f/6/1/e/61e84f854bc6258d4108d08d4c4a085282.png)
чисел — количество последовательностей, дающих в сумме соответствующий остаток от деления на
![$B$ $B$](https://dxdy-03.korotkov.co.uk/f/6/1/e/61e84f854bc6258d4108d08d4c4a085282.png)
. Если есть такой массив и мы хотим добавить к последовательности ещё одно число, нам надо прибавить к массиву его же, циклически сдвинутого на остаток от деления числа на
![$B$ $B$](https://dxdy-03.korotkov.co.uk/f/6/1/e/61e84f854bc6258d4108d08d4c4a085282.png)
, и ещё единицу к элементу массива с соответствующим остатком.
Для приведённого примера получается:
Код:
0,0,0,0,0,0,0,0,0,0
10 1,0,0,0,0,0,0,0,0,0
10 3,0,0,0,0,0,0,0,0,0
10 7,0,0,0,0,0,0,0,0,0
13 7,0,0,8,0,0,0,0,0,0
Семь последовательностей дадут в остатке нуль (вы забыли
![${a_1,a_3}$ ${a_1,a_3}$](https://dxdy-01.korotkov.co.uk/f/c/5/2/c52bb16de63eba3afcd594aac6dea4e082.png)
), восемь — три.
Возможно, стоит не добавлять числа по одному, а делить последовательность пополам и сливать два массива. Вместо
![$BN$ $BN$](https://dxdy-03.korotkov.co.uk/f/6/8/a/68a3f6da12e21048aef4bf0e516278d282.png)
получим, как понимаю,
![$B^2\log N$ $B^2\log N$](https://dxdy-04.korotkov.co.uk/f/f/a/f/faf372a166bb29bb81a3856f1ed897b182.png)