#aBC369C. [ABC369C] Count Arithmetic Subarrays

[ABC369C] Count Arithmetic Subarrays

AT_abc369_c [ABC369C] Count Arithmetic Subarrays

题目描述

给定一个长度为 NN 的正整数序列 A=(A1,A2,,AN)A=(A_1,A_2,\dots,A_N)

请你求出有多少对整数 (l,r)(l,r) 满足 1lrN1\leq l\leq r\leq N,并且数列 (Al,Al+1,,Ar)(A_l,A_{l+1},\dots,A_r) 是等差数列。

这里,数列 (x1,x2,,xx)(x_1,x_2,\dots,x_{|x|}) 是等差数列,指存在某个 dd,使得对于所有 1i<x1\leq i<|x|,都有 xi+1xi=dx_{i+1}-x_i=d。特别地,长度为 11 的数列总是等差数列。

输入格式

输入以如下格式从标准输入读入。

NN A1A_1 A2A_2 \dots ANA_N

输出格式

请输出答案。

输入输出样例 #1

输入 #1

4
3 6 9 3

输出 #1

8

输入输出样例 #2

输入 #2

5
1 1 1 1 1

输出 #2

15

输入输出样例 #3

输入 #3

8
87 42 64 86 72 58 44 30

输出 #3

22

说明/提示

限制条件

  • 1N2×1051\leq N \leq 2\times 10^5
  • 1Ai1091\leq A_i \leq 10^9
  • 输入均为整数

样例解释 1

满足条件的整数对 (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)88 种。实际上,当 (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) 不是等差数列,因此不满足条件。

样例解释 2

所有满足 1lr51\leq l\leq r\leq 5 的整数对 (l,r)(l,r) 都满足条件。

由 ChatGPT 4.1 翻译