n = int(input()) num = list(map(int, input().split())) l = len(num) count = [0, 0] # 存储白,黑的个数 if num[0] > 0: count[0] = 1 else: count[1] = 1 res_0, res_1 = count[0], count[1] for i in range(1, l): if num[i] > 0: count[0], count[1] = count[0] + 1, count[1] else: count[0], count[1] = count[1], count[0] +1 res_0 += count[0] res_1 += count[1] print(res_1, res_0) ac了,可以看作指针滑动,以当前指针所指元素为尾考虑的话,很类似双指针滑动那道题。 就出现了状态转移公式,对应在代码里,自己看吧
1 3

相关推荐

牛客网
牛客企业服务