CF1736C1 Good Subarrays (Easy Version)
题目描述
这是该问题的简单版本。在本版本中,没有查询操作。请注意,本版本包含多个测试用例。只有在两个版本都被解决的情况下,你才能进行 hack。
一个长度为 $m$ 的数组 $b$ 被称为“好”的,如果对于所有的 $i$,第 $i$ 个元素都大于等于 $i$。换句话说,当且仅当 $b_i \geq i$ 对于所有 $i$($1 \leq i \leq m$)成立时,$b$ 是“好”的。
给定一个由 $n$ 个正整数组成的数组 $a$。请你求出有多少对下标 $(l, r)$,其中 $1 \leq l \leq r \leq n$,使得数组 $[a_l, a_{l+1}, \ldots, a_r]$ 是“好”的。
输入格式
每个测试点包含多个测试用例。第一行包含一个整数 $t$($1 \leq t \leq 2 \cdot 10^5$),表示测试用例的数量。
每个测试用例的第一行包含一个整数 $n$($1 \leq n \leq 2 \cdot 10^5$),表示数组 $a$ 的长度。
每个测试用例的第二行包含 $n$ 个用空格分隔的整数 $a_1, a_2, \ldots, a_n$($1 \leq a_i \leq n$),表示数组 $a$。
保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。
输出格式
对于每个测试用例,输出满足条件的下标对的数量。
说明/提示
在第一个测试用例中,数组 $a$ 的所有子数组都是“好”的,因此所有的下标对都是合适的。
在第二个测试用例中,只有下标对 $(1, 1)$、$(2, 2)$ 和 $(3, 3)$ 是合适的。例如,当 $(l, r) = (1, 2)$ 时,数组 $b=[1,1]$ 不是“好”的,因为 $b_2 < 2$。
由 ChatGPT 4.1 翻译