看了题解之后,发现了正统思想应该是利用前缀和进行计算。
其中,sum[i]表示从第1到第i个位置数值为‘1’的坐标和,cnt[i]表示从第1到第i个位置之间‘1’出现的次数,完成对输入的预处理
在计算 “1011” 时,(3-1)+(4-1)=(3+4)- 1*2,故可得下式。
只是对前缀和最皮毛的应用,以后遇到会再查阅资料。

下面是自己想法(将式子中的加减分为两个循环来进行)遇到的问题解决方案:
即在最后面加一行,除掉出现sum为0的情况!(for循环取模之后,可能会出现被减数小于减数的情况)