小苯的观景路线
题号:NC315471
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小苯在一条数轴上发现了 n 个观景点,第 i 个观景点的位置为 x_i
\hspace{15pt}他打算从这些观景点中挑选若干个。假设他选出的观景点坐标按升序排列p_1, p_2, \dots, p_k,则需满足:
\hspace{23pt}\bullet\,对于所有 2 \leqq i \leqq k,都有 p_i - p_{i-1} \geqq i-1
\hspace{15pt}也就是说,第 2 个观景点与第 1 个观景点之间的距离至少为 1,第 3 个观景点与第 2 个观景点之间的距离至少为 2,第 4 个观景点与第 3 个观景点之间的距离至少为 3,依此类推。

\hspace{15pt}小苯可以自由决定从哪个观景点开始参观,但一旦开始后,后面的观景点位置必须严格递增。
\hspace{15pt}你的任务就是求出他最多可以参观多少个观景点。

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\leqq T\leqq 10^4\right) 代表数据组数,每组测试数据描述如下:

\hspace{15pt}第一行输入一个整数 n\left(1 \leqq n \leqq 2 \times 10^5\right)
\hspace{15pt}第二行输入 n 个整数 x_1, x_2, \dots, x_n\left(1 \leqq x_i \leqq 10^9\right),表示各个观景点的位置。

\hspace{15pt}除此之外,保证单个测试文件的 n 之和不超过 2 \times 10^5

输出描述:

\hspace{15pt}对于每一组测试数据,新起一行输出一个整数,表示最多可以参观的观景点数量。
示例1

输入

复制
3
5
1 2 7 11 4
6
1 1 2 3 8 5
7
2 3 3 4 8 13 19

输出

复制
5
4
5

说明

\hspace{15pt}对于第一组数据,可以按顺序参观位置为 1, 2, 4, 7, 11 的五个观景点。
\hspace{15pt}它们之间的相邻距离分别为 1, 2, 3, 4,恰好满足要求,因此答案为 5

\hspace{15pt}对于第二组数据,一种最优方案为参观位置 1, 2, 5, 8
\hspace{15pt}它们之间的相邻距离分别为 1, 3, 3,满足要求,因此答案为 4

\hspace{15pt}对于第三组数据,一种最优方案为参观位置 2, 3, 8, 13, 19
\hspace{15pt}它们之间的相邻距离分别为 1, 5, 5, 6,满足要求,因此答案为 5