分析
去掉无用的前缀0
然后,中间的0需要一个个补(作为传递)
补一个0需要额外多一下
然后补充完中间的0后就可以进行有效的转移了
所以就是a的求和然后0的话加一即可
ac code
import sys
input &#61; sys.stdin.readlinefor _ in range(int(input())):n &#61; int(input())a &#61; list(map(int, input().split()))ptr &#61; 0while ptr < n and a[ptr] &#61;&#61; 0:ptr &#43;&#61; 1ans &#61; 0for i in range(ptr, n - 1):if a[i] &#61;&#61; 0:ans &#43;&#61; 1else:ans &#43;&#61; a[i]print(ans)
总结
构造题 &#43; 跟0和非0打交道