#P10740. [SEERC 2020] Divisible by 3

[SEERC 2020] Divisible by 3

题目描述

定义一个序列 bb 的权重为 ∑i=1n∑j=1i−1bi×bj\sum_{i=1}^n \sum_{j=1}^{i-1} b_i \times b_j。

现在你有一个长度为 nn 的数组 aa,求一共存在多少种 (l,r)(l,r) 使得 1≤l≤r≤n1 \leq l \leq r \leq n 且 [al,al+1,…,ar][a_l, a_{l+1},\ldots,a_r] 的权重能被 33 整除。

输入格式

第一行一个整数 n (1≤n≤5×105)n\ (1 \leq n \leq 5 \times 10^5)。

然后 nn 个整数 ai (0≤ai≤109)a_i\ (0 \leq a_i \leq 10^9)。

输出格式

输出方案总数。

3
5 23 2021

4
5
0 0 1 3 3
15
10
0 1 2 3 4 5 6 7 8 9
20

提示

对于第一个样例,存在 [1,1][1,1]、[2,2][2,2]、[3,3][3,3]、[1,3][1,3] 共 44 种方案。