AT_arc170_b [ARC170B] Arithmetic Progression Subsequence
题目描述
给定一个由 $1$ 到 $10$ 之间的整数构成的长度为 $N$ 的数列 $A$。
对于满足 $1\leq l \leq r \leq N$ 的整数对 $(l, r)$,如果满足以下条件,则称其为“良好组”:
- 数列 $(A_l, A_{l+1}, \ldots, A_r)$ 至少包含一个长度为 $3$ 的等差数列作为(不一定连续的)子序列。更严格地说,存在整数组 $(i, j, k)$ 满足 $l \leq i < j < k \leq r$,且 $A_j - A_i = A_k - A_j$。
请计算良好组的个数。
输入格式
输入通过标准输入按以下格式给出:
> $N$ $A_1$ $\ldots$ $A_N$
输出格式
请输出答案。
说明/提示
## 限制条件
- $3 \leq N \leq 10^5$
- $1 \leq A_i \leq 10$
- 输入的所有数均为整数
## 样例解释 1
良好组有 $(l, r) = (1, 4), (1, 5), (2, 5)$ 共 $3$ 个。例如,数列 $(A_1, A_2, A_3, A_4)$ 包含了 $(5, 3, 1)$ 这样一个长度为 $3$ 的等差数列作为子序列,因此 $(1, 4)$ 是良好组。
## 样例解释 2
也有可能不存在良好组。
由 ChatGPT 4.1 翻译