先检查序列m吧,mi<=m(i+1),否则就是0了
然后,只要确定S1就可以确定整个数列
那就先找一个符合要求的S序列,注意,S1<=m1/2,这样就从某个很小的数(-10^9一定够了,再大点可不可以再研究)到m1/2(或m1/2-1/2),使用二分查找找一个成立的S1。
至于直接s1=m1/2(或m1/2-1/2)是否成立,说不准,貌似不成立。
总之,先找到一个成立的S序列。
(以下k为正整数)
然后,用调整的思路考虑。
(1)如果S1加一,那么S2减一,S3加一,S4减一,S5加一.......
那么S(k*2-1)就与S(k*2)越来越接近,当它们相差一或者相等时就不可继续调整,那最小的S(k*2)-S(k*2-1)再div 2就是S1加一的次数限制。
这个次数限制设为a1
(2)如果S1减一,那么.......
这次是S(k*2)与S(k*2+1)决定次数限制,思路一样,得到a2
好,现在,有一个可行的S序列,S1增加有a1种,S1减少有a2种。
那总数就是,a1+1+a2