Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int minstep(int a[],int n){
- int i;
- if(n<=1)return 0;
- if(a[0]==0)return -1;
- int step=a[0],jump=1,dis=a[0];
- for(i=1;i<n;i++){
- if(i==n-1)return jump;
- dis=max(dis,a[i]+i);
- step--;
- if(step==0){
- jump++;
- if(dis<=i)return -1;
- step=dis-i;
- }
- }
- }
- int main() {
- int i,j,t,n;
- cin>>t;
- while(t--){
- cin>>n;
- int a[n];
- for(i=0;i<n;i++)cin>>a[i];
- cout<<minstep(a,n)<<endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement