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

相关推荐

11-04 19:05
已编辑
东莞城市学院 单片机
不知道怎么取名字_:你这个要实习两年?哪有这么久的,感觉就是即使你毕业了,但还按实习的话,是不是不用给你缴社保公积金啥的
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务