MAXIMUM BITONIC SUM

WHY TLE FOR LAST 2 TEST CASES

#include
using namespace std;

int bitonic(int arr[], int n)
{
int inc[n]; // Length of increasing subarray ending at all indexes
int dec[n]; // Length of decreasing subarray starting at all indexes
int i, max;

// length of increasing sequence ending at first index is 1
inc[0] = 1;

// length of increasing sequence starting at first index is 1
dec[n-1] = 1;

// Step 1) Construct increasing sequence array
for (i = 1; i < n; i++){
    inc[i] = (arr[i] >= arr[i-1])? inc[i-1] + 1: 1;
}


// Step 2) Construct decreasing sequence array
for (i = n-2; i >= 0; i--){
    dec[i] = (arr[i] >= arr[i+1])? dec[i+1] + 1: 1;
}

// Step 3) Find the length of maximum length bitonic sequence
max = inc[0] + dec[0] - 1;
for (i = 1; i < n; i++){
    if (inc[i] + dec[i] - 1 > max){
        max = inc[i] + dec[i] - 1;
    }
}

return max;

}

int main(){
int times;
cin>>times;

for (int i=0;i<times;i++){
    int n;
    int arr[1000];
    cin>>n;
    for (int i =0;i<n;i++){
        cin>>arr[i];
    }

    cout<<bitonic(arr,n)<<endl;
}
return 0;

}

@anindya-gupta share code using cb ide