#5196. Count Arithmetic Subarrays

0

Count Arithmetic Subarrays

Count Arithmetic Subarrays

题目描述

给你一个由 NN 个正整数组成的序列 A=(A1,A2,…,AN)A=(A_1,A_2,\dots,A_N)。 求满足 1≤l≤r≤N1\leq l\leq r\leq N 的整数对 (l,r)(l,r) 的个数,使得子序列 (Al,Al+1,…,Ar)(A_l,A_{l+1},\dots,A_r) 构成等差数列。 序列 (x1,x2,…,x∣x∣)(x_1,x_2,\dots,x_{|x|}) 当且仅当存在一个 dd 使得 x_{i+1}-x_i=d\ (1\leq i < |x|) 时为等差数列。 特别地,长度为 11 的序列总是等差数列。

输入格式

输入从标准输入按以下格式给出: NN A1A_1 A2A_2 …\dots ANA_N

输出格式

输出答案。

4
3 6 9 3
8
5
1 1 1 1 1
15
8
87 42 64 86 72 58 44 30
22

提示

1≤N≤2×1051\leq N \leq 2\times 10^5 1≤Ai≤1091\leq A_i \leq 10^9 所有输入值均为整数。满足条件的整数对 (l,r)(l,r) 有八个:(1,1),(2,2),(3,3),(4,4),(1,2),(2,3),(3,4),(1,3)(1,1),(2,2),(3,3),(4,4),(1,2),(2,3),(3,4),(1,3)。 确实,当 (l,r)=(1,3)(l,r)=(1,3) 时,(Al,…,Ar)=(3,6,9)(A_l,\dots,A_r)=(3,6,9) 是一个等差数列,因此满足条件。 但是,当 (l,r)=(2,4)(l,r)=(2,4) 时,(Al,…,Ar)=(6,9,3)(A_l,\dots,A_r)=(6,9,3) 不是等差数列,因此不满足条件。
所有整数对 (l,r) (1≤l≤r≤5)(l,r)\ (1\leq l\leq r\leq 5) 都满足条件。

标签: AtCoder|abc369C

来源

AtCoder|abc369C