AT_abc369_c [ABC369C] Count Arithmetic Subarrays
题目描述
给定一个长度为 N 的正整数序列 A=(A1,A2,…,AN)。
请你求出有多少对整数 (l,r) 满足 1≤l≤r≤N,并且数列 (Al,Al+1,…,Ar) 是等差数列。
这里,数列 (x1,x2,…,x∣x∣) 是等差数列,指存在某个 d,使得对于所有 1≤i<∣x∣,都有 xi+1−xi=d。特别地,长度为 1 的数列总是等差数列。
输入格式
输入以如下格式从标准输入读入。
N A1 A2 … AN
输出格式
请输出答案。
输入输出样例 #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
说明/提示
限制条件
- 1≤N≤2×105
- 1≤Ai≤109
- 输入均为整数
样例解释 1
满足条件的整数对 (l,r) 有 (1,1),(2,2),(3,3),(4,4),(1,2),(2,3),(3,4),(1,3) 共 8 种。实际上,当 (l,r)=(1,3) 时,(Al,…,Ar)=(3,6,9) 是等差数列,所以满足条件;而当 (l,r)=(2,4) 时,(Al,…,Ar)=(6,9,3) 不是等差数列,因此不满足条件。
样例解释 2
所有满足 1≤l≤r≤5 的整数对 (l,r) 都满足条件。
由 ChatGPT 4.1 翻译