4478: C1. Good Subarrays (Easy Version)

内存限制:256 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:Special Judge 上传者:
提交:42 通过:14

题目描述

This is the easy version of this problem. In this version, we do not have queries. Note that we have multiple test cases in this version. You can make hacks only if both versions of the problem are solved.An array b of length m is good if for all i the i-th element is greater than or equal to i. In other words, b is good if and only if bi ≥ i for all i (1 <= i <= m).
You are given an array a consisting of n positive integers. Find the number of pairs of indices (l, r), where 1 ≤ l ≤ r ≤ n, such that the array [al, al+1, …, ar] is good.

输入格式

Each test contains multiple test cases. The first line contains the number of test cases t (1 <= t <= 2 ⋅ 105). Description of the test cases follows.
The first line of each test case contains an integer n (1 <= n <= 2 ⋅ 105), the length of the array a.
The second line of each test case contains n space-separated integers a1,a2,…,an (1 <= ai <= n), representing the array a.
It is guaranteed that the sum of n over all test cases does not exceed 2 ⋅ 105.

输出格式

For each test case, print the number of suitable pairs of indices.

输入样例 复制

3
3
1 2 3
3
1 1 1
4
2 1 4 3

输出样例 复制

6
3
7

数据范围与提示

In the first test case, all subarrays of a are good, so all pairs are suitable.
In the second test case, the pairs (1, 1), (2, 2), and (3, 3) are suitable. For example, when (l, r) = (1, 2), the array b=[1,1] is not good because b2 < 2.

分类标签