CF933B A Determined Cleanup
题目描述
为了辞旧迎新,彻底打扫房屋是必不可少的。
小汤米发现了一个旧多项式,并通过对其取模另一个多项式进行了“清理”。但现在他后悔了……
给定两个整数 $p$ 和 $k$,请你构造一个多项式 $f(x)$,其系数均为非负整数且严格小于 $k$,并且当 $f(x)$ 被 $(x+k)$ 除时余数为 $p$。即存在多项式 $q(x)$(不一定是整数系数),使得 $f(x)=q(x)\cdot(x+k)+p$。
输入格式
输入仅一行,包含两个用空格分隔的整数 $p$ 和 $k$($1 \leq p \leq 10^{18}$,$2 \leq k \leq 2000$)。
输出格式
如果不存在这样的多项式,输出一个整数 $-1$;否则输出两行。
第一行输出一个非负整数 $d$,表示多项式的系数个数。
第二行输出 $d$ 个用空格分隔的整数 $a_0, a_1, \ldots, a_{d-1}$,表示满足条件的多项式 $f(x)=a_0 + a_1 x + \cdots + a_{d-1} x^{d-1}$。你的输出需满足 $0 \leq a_i < k$ 对于所有 $0 \leq i \leq d-1$,且 $a_{d-1} \neq 0$。
如果有多组解,输出任意一组均可。
说明/提示
在第一个样例中,$f(x)=x^6+x^5+x^4+x=(x^5-x^4+3x^3-6x^2+12x-23)\cdot(x+2)+46$。
在第二个样例中,$f(x)=x^2+205x+92=(x-9)\cdot(x+214)+2018$。
由 ChatGPT 4.1 翻译