fork(1) download
  1. #include<bits/stdc++.h>
  2. typedef long long ll;
  3. using namespace std;
  4. int main(){
  5. ll test,dp[50][50],arr[50],n;
  6. scanf("%lld",&test);
  7.  
  8. while(test--){
  9. scanf("%lld",&n);
  10. memset(dp,0,sizeof dp);
  11.  
  12. if(!n){
  13. printf("0\n");
  14. continue;
  15. }
  16. for(ll i=0;i<n;i++)
  17. scanf("%lld",&arr[i]);
  18.  
  19. dp[1][0]=1;
  20. for(ll i=1;i<=n;i++){
  21. for(ll j=0;j<n;j++){
  22. if(dp[i][j]==1){
  23. dp[i+1][j+1]=1;
  24. if(j+arr[j]>=0 and j+arr[j]<=n)dp[i+1][j+arr[j]]=1;
  25. }
  26. }
  27. if(dp[i+1][n]==1){
  28. printf("%lld\n",i);
  29. break;
  30. }
  31. }
  32. }
  33. return 0;
  34. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
Standard output is empty