#T0078. 观星台的灵石

0

观星台的灵石

题目背景

云岚学院的观星台上摆着一排灵石,共 N 颗,从左到右编号 1…N。每颗灵石都会发出微光, 导师用一个整数记录它今晚的亮度(可能为负数,表示灵石暂时黯淡)。

今晚的天象有个讲究:只有连续一段、亮度全为奇数的灵石,才能连成一串“星链”。 见习生要统计:这排灵石里,一共能找出多少串满足条件的星链?

只要两段星链包含的灵石编号不完全相同,就算不同的星链。

题目描述

给定长度为 N 的整数序列 a₁…a_N。请统计有多少个连续子段 [l,r], 使得 a_l, a_{l+1}, …, a_r 全部是奇数

输入格式

第一行一个整数 N(1 ≤ N ≤ 200000)。 第二行 N 个整数 a₁…a_N(−10⁹ ≤ a_i ≤ 10⁹),空格分隔。

输出格式

一行一个整数,表示星链数量(答案可能超过 32 位整数范围,请使用 64 位整数)。

样例输入 #1

5
3 5 2 7 9

样例输出 #1

6

样例解释 #1

奇数灵石连出两个连续段:[1,2](3、5)长度 2,[4,5](7、9)长度 2。 长度为 k 的全奇数连续段内部共有 1+2+…+k = k(k+1)/2 个连续子段, 故答案为 3 + 3 = 6。

数据范围

  • 1 ≤ N ≤ 2×10⁵
  • −10⁹ ≤ a_i ≤ 10⁹;负数奇数(如 −3)仍是奇数,判定请用 x % 2 != 0,不要只判断 x % 2 == 1