把回文对应位置连边之后,我们需要计算连通块数量 $c$,则答案就是 $2^{c}$。考虑 ${a_i}$ 的最大和次大值 $x,y$,如果 $x\ge 2y$,则 $x$ 对 $y$ 没有任何限制,可以删除 $x$,将 $c$ 增加 $\left\lceil\frac{x}{2}\right\rceil-y$。如果 $x< 2y$,则可以将 $x$ 替换为 $2y-x$。不断重复上述操作直到只剩下 $0$,即可得到答案。
用堆暴力模拟上述过程,用除法优化最大值和次大值交替减小的过程,则每一轮要么删除一个数,要么使得 $x-y$ 减小一半,因此复杂度不超过 $O((n+\log N)\log n)$。