首页 > 试题广场 >

求值

[编程题]求值
给定n个数字a1, a2, ..., an
定义f(l, r) = al | al+1| ... | ar
现在枚举(1 <= l <= r <= n),问不同的f值一共有多少个。

输入描述:
第一行一个整数n表示数组大小 (1 <= n <= 100,000);
第二行n个整数满足0 <= ai <= 1000,000。


输出描述:
输出一个整数表示不同的f值一共有多少个。
示例1

输入

3
1 2 0

输出

4
示例2

输入

10
1 2 3 4 5 6 1 2 9 10

输出

11