fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #pragma region Macros
  5. #define Faster ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
  6. #define ll long long
  7. #define ld long double
  8. #define pii pair<int, int>
  9. #define pll pair<long long, long long>
  10. #define all(x) x.begin(), x.end()
  11. #define rall(x) x.rbegin(), x.rend()
  12. #define pb push_back
  13. #define ff first
  14. #define ss second
  15. #define endl '\n'
  16. #define yes cout << "YES" << endl
  17. #define no cout << "NO" << endl
  18. #define m1 cout << -1 << endl
  19. #pragma endregion
  20.  
  21. #pragma region Math
  22. const ll MOD = 1e9 + 7;
  23. ll gcd(ll a, ll b) { return __gcd(a, b); }
  24. ll lcm(ll a, ll b) { return (a / gcd(a, b)) * b; }
  25. #pragma endregion
  26.  
  27. void solve() {
  28. int n; cin>>n;
  29. vector<int>v(n);
  30. for(auto &it:v) cin>>it;
  31. bool flag=1;
  32. for(int i=0;i<n-1;i++){
  33. if(v[i]>=v[i+1]) flag=0;
  34. }
  35. if(flag){
  36. yes;
  37. return;
  38. }
  39. for(int i=0;i<n-1;i++){
  40. if(v[i]>=(i+1)) {
  41. v[i+1]+=v[i]-(i+1);
  42. v[i]=i+1;
  43. }
  44. else {
  45. no;
  46. return;
  47. }
  48. }
  49. if(v[n-2]<v[n-1]) yes;
  50. else no;
  51. }
  52.  
  53. int main() {
  54. Faster;
  55. int t = 1;
  56. cin >> t;
  57. while (t--) solve();
  58. return 0;
  59. }
Success #stdin #stdout 0s 5320KB
stdin
8
3
1 2 3
3
1 1 2
3
10 1 1
3
2 2 2
4
1 4 2 2
5
8 2 8 1 8
4
1 1 3 5
4
1 4 9 9
stdout
YES
NO
YES
YES
NO
YES
NO
YES