Help me in solving OPTMFLP18 problem

My issue

I’m using sliding concept approach, but it is showing error!!!

My code

#include <bits/stdc++.h>
using namespace std;

int count(int arr[],int n)
{   
    int count = 0;
    for(int i=0;i<n;++i){
        if(i%2==0){
            count+=n-i;
            continue;
        }
        for(int j=i;j<n;++j){
            if(arr[j]%2==1){
                continue;
            }
            else{
                count++;
            }
        }
    }
    return count;
}

int main() {
	// your code goes here
    int T;
    cin>>T;
    while(T--)
    {
        int n;
        cin>>n;
        int arr[n];
        for(int i=0;i<n;++i)
        {
            cin>>arr[i];
        }
        
        int cnt=-1;
        for(int i=0;i<n;++i)
        {
            if(arr[i]%2==0){
                cnt=max(cnt,count(arr,n));
            }
            else{
                arr[i]++;
                cnt=max(cnt,count(arr,n));
            }
        }
        cout<<cnt<<endl;
    }
}

Problem Link: Optimal Flip Practice Coding Problem - CodeChef

@anji_47
due to high constraint this approach will give u tle.
plzz refer my c++ code for better understanding of the logic

#include <bits/stdc++.h>
using namespace std;

int main() {
	// your code goes here
	int t;
	cin>>t;
	while(t--)
	{
	    long long int n;
	    cin>>n;
	    long long int a[n];
	    long long int ch=0;
	    map<long long int,long long int> mp;
	    for(long long int i=0;i<n;i++)
	    {
	        cin>>a[i];
	        if(a[i]%2==0)
	        ch=i+1;
	        mp[i]=ch;
	    }
	    long long int ans=0,fans=0,cnt=0,cnt1=0;
	    
	    for(long long int i=0;i<n;i++)
	    {
	        if(a[i]%2==0)
	        {
	            ans+=(i+1LL);
	        }
	        else
	        ans+=mp[i];
	    }
	    fans=ans;
	    for(long long int i=n-1;i>=0;i--)
	    {
	        if(a[i]%2)
	        {
	            cnt++;
	            cnt1+=mp[i];
	            long long int tmans=ans-cnt1;
	            tmans=tmans+((i+1)*cnt);
	            fans=max(fans,tmans);
	        }
	        else
	        {
	            cnt=0;
	            cnt1=0;
	        }
	    }
	    cout<<fans<<endl;
	}
	return 0;
}