Feedback for HILLS problem

Problem Link: HILLS Problem - CodeChef

#include<iostream>
using namespace std;

int main(){
    long t;
    cin>>t;
    while(t--){
        long n,u,d,c=0,count=1;
        cin>>n>>u>>d;
        long arr[n];
        
        for (long i=0;i<n;i++){
            cin>>arr[i];
        }
        
        for(long i=0;i<n-1;i++){
            if(c==0){
                if(arr[i]==arr[i+1]){
                    count++;
                }
                else if(arr[i]<arr[i+1]){
                    if(arr[i+1]-arr[i]<=u){
                        count++;
                    }
                    else{
                        break;
                    }
                }
                
                else if(arr[i]>arr[i+1]){
                    if(arr[i]-arr[i+1]<=d){
                        count++;
                    }
                    else{
                        count++;
                        c++;
                    }
                }
            }
            
            if(c>0){
                if(arr[i]==arr[i+1]){
                    count++;
                }
                else if(arr[i]<arr[i+1]){
                    if(arr[i+1]-arr[i]<=u){
                        count++;
                    }
                    else{
                        break;
                    }
                }
                
                else if(arr[i]>arr[i+1]){
                    if(arr[i]-arr[i+1]<=d){
                        count++;
                    }
                    else{
                        break;
                    }
                }
            }
            
            
        }
        cout<<count<<endl;
        
    }
    
    
    
    return 0;
}

The code is not working
Please help me in the solution.

@gsid306
just a little mistake put c>0 in else if not if .
Rest is absolutely correct