Help me in solving EVENSUMSUB problem

My issue

WA is coming for hidden test cases. Where am I wrong can anyone explain and rectify?

My code

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

int main() {
	// your code goes here
	int tc;
	cin>>tc;
	while(tc--){
	    int n;
	    cin>>n;
	    vector<int> A(n);
	    int maxi=0;
	    vector<int> prefixsum(n,0);
	    for(int i=0;i<n;i++){
	        cin>>A[i];
	    }
	    prefixsum[0]=A[0];
	    for(int i=1;i<n;i++){
	        prefixsum[i]=prefixsum[i-1]+A[i];
	    }
	    for(int i=0;i<n;i++){
	        if(prefixsum[i]%2==0){
	            maxi=max(maxi,i+1);
	        }
	    }
	    cout<<maxi<<endl;
	}
	return 0;
}

Problem Link: Even Sum Subarray Practice Coding Problem

@grumpy_tucker3
u are only checking for the subarray that begins with i=0 .
U have to check is for all index .
refer the following code

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

int main() {
	// your code goes here
	int t;
	cin>>t;
	while(t--)
	{
	    int n;
	    cin>>n;
	    int a[n];
	    int ans=0;
	    for(int i=0;i<n;i++)
	    {
	        cin>>a[i];
	    }
	    for(int i=0;i<n;i++)
	    {
	        int sm=0;
	        for(int j=i;j<n;j++)
	        {
	            sm+=a[j];
	            if(sm%2==0)
	            {
	                ans=max(ans,j-i+1);
	            }
	        }
	    }
	    cout<<ans<<endl;
	}
	return 0;
}