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 翻译