20077 - 和与乘积
时间限制 : 1 秒
内存限制 : 128 MB
给定一个数列 A = (a_1, a_2, \cdots, a_n),问有多少个区间 [L, R] 满足区间内元素的乘积等于他们的和,即:
a_L \cdot a_L+1 \cdots a_R = a_L + a_L+1 + \cdots + a_R
(注:a_{L+1}的L+1是下标)
输入
第一行包含一个整数 n,表示数列的长度。
第二行包含 n 个整数,依次表示数列中的数 a_1, a_2, \cdots, a_n。
输出
输出仅一行,包含一个整数表示满足如上条件的区间的个数。
样例
输入
4 1 3 2 2
输出
6
提示
样例解释
符合条件的区间为:
- [1, 1]:1 = 1
- [1, 3]:1 \times 3 \times 2 = 6,1 + 3 + 2 = 6
- [2, 2]:3 = 3
- [3, 3]:2 = 2
- [3, 4]:2 \times 2 = 4,2 + 2 = 4
- [4, 4]:2 = 2
共 6 个。
数据范围
- 1 \le n \le 200000
- 1 \le a_i \le 200000