//ifstream fin("INPUT.TXT");
//ofstream fout("OUTPUT.TXT");
//fin.close();
//fout.close();
//cout << fixed << setprecition(6);
#include<bits/stdc++.h>
#define ll long long
#define ld long double
#define ICC ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define str string
#define pb push_back
using namespace std;
void NOK()
{
ll n, m;
cin >> n >> m;
cout << n * m / __gcd(n, m);
}
void zadacha_gradyschasov()
{
ll n;
cin >> n;
ll k = 720 * n / 360;
cout << "It is " << k / 60 << " hours " << k % 60 << " minutes.";
}
void a(){
ll n;
cin >> n;
ll pos = 0, pos1 = 0, a[n + 12] = {};
for(int i = 0; i < n; i ++){
cin >> a[i];
}
for(int i = 0; i < n; i ++){
if(a[i] < i){
break;
}
pos = i;
}
for(int i = n - 1; i >= 0; i --){
if(a[i] < n - i - 1){
break;
}
pos1 = i;
}
if(pos1 <= pos){
cout << "YES\n";
}
else{
cout << "NO\n";
}
}
int main(){
ICC
ld t = 1;
cin >> t;
while(t --){
a();
}
}
1302. Deepest Leaves Sum | 1209. Remove All Adjacent Duplicates in String II |
994. Rotting Oranges | 983. Minimum Cost For Tickets |
973. K Closest Points to Origin | 969. Pancake Sorting |
967. Numbers With Same Consecutive Differences | 957. Prison Cells After N Days |
946. Validate Stack Sequences | 921. Minimum Add to Make Parentheses Valid |
881. Boats to Save People | 497. Random Point in Non-overlapping Rectangles |
528. Random Pick with Weight | 470. Implement Rand10() Using Rand7() |
866. Prime Palindrome | 1516A - Tit for Tat |
622. Design Circular Queue | 814. Binary Tree Pruning |
791. Custom Sort String | 787. Cheapest Flights Within K Stops |
779. K-th Symbol in Grammar | 701. Insert into a Binary Search Tree |
429. N-ary Tree Level Order Traversal | 739. Daily Temperatures |
647. Palindromic Substrings | 583. Delete Operation for Two Strings |
518. Coin Change 2 | 516. Longest Palindromic Subsequence |
468. Validate IP Address | 450. Delete Node in a BST |