#include <iostream>
#include <vector>
#include <deque>
#include <algorithm>
using namespace std;
int main() {
int T;
cin >> T;
while (T--) {
int n;
cin >> n;
vector<int> heights(n);
for (int i = 0; i < n; ++i) {
cin >> heights[i];
}
int maxLength = 0;
// 使用滑动窗口方法
int left = 0; // 左边界
for (int right = 0; right < n; ++right) {
while (heights[right] - heights[left] > (right - left)) {
left++; // 调整左边界
}
maxLength = max(maxLength, right - left + 1); // 更新最大长度
}
cout << maxLength << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8ZGVxdWU+CiNpbmNsdWRlIDxhbGdvcml0aG0+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBpbnQgVDsKICAgIGNpbiA+PiBUOwogICAgCiAgICB3aGlsZSAoVC0tKSB7CiAgICAgICAgaW50IG47CiAgICAgICAgY2luID4+IG47CiAgICAgICAgCiAgICAgICAgdmVjdG9yPGludD4gaGVpZ2h0cyhuKTsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkgewogICAgICAgICAgICBjaW4gPj4gaGVpZ2h0c1tpXTsKICAgICAgICB9CgogICAgICAgIGludCBtYXhMZW5ndGggPSAwOwogICAgICAgIAogICAgICAgIC8vIOS9v+eUqOa7keWKqOeql+WPo+aWueazlQogICAgICAgIGludCBsZWZ0ID0gMDsgIC8vIOW3pui+ueeVjAogICAgICAgIGZvciAoaW50IHJpZ2h0ID0gMDsgcmlnaHQgPCBuOyArK3JpZ2h0KSB7CiAgICAgICAgICAgIHdoaWxlIChoZWlnaHRzW3JpZ2h0XSAtIGhlaWdodHNbbGVmdF0gPiAocmlnaHQgLSBsZWZ0KSkgewogICAgICAgICAgICAgICAgbGVmdCsrOyAgLy8g6LCD5pW05bem6L6555WMCiAgICAgICAgICAgIH0KICAgICAgICAgICAgbWF4TGVuZ3RoID0gbWF4KG1heExlbmd0aCwgcmlnaHQgLSBsZWZ0ICsgMSk7ICAvLyDmm7TmlrDmnIDlpKfplb/luqYKICAgICAgICB9CgogICAgICAgIGNvdXQgPDwgbWF4TGVuZ3RoIDw8IGVuZGw7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0K