sir what is the mistake in this code
#include <bits/stdc++.h>
using namespace std;
int kadane(int array[], int n)
{
int max_so_far = 0, max_ending_here = 0;
for (int i = 0; i < n; i++)
{
max_ending_here = max_ending_here + array[i];
if (max_ending_here < 0)
max_ending_here = 0;
if (max_so_far < max_ending_here)
max_so_far = max_ending_here;
}
return max_so_far;
}
int MaxSumCircular(int array[], int n)
{
int kadane_sum = kadane(array, n);
int wrap_sum = 0;
for (int i=0; i<n; i++)
{
wrap_sum += array[i];
array[i] = -array[i];
}
wrap_sum = wrap_sum + kadane(array, n);
if(wrap_sum > kadane_sum)
{
return wrap_sum;
}
else
{
return kadane_sum;
}
}
int main()
{
int n,j,i,input_array[1000],t;
cin>>t;
for(j=1;j<=t;j++)
{
cin>>n;
for(i=0;i<=n-1;i++)
{
cin>>input_array[i];
}
cout<<"Maximum circular subarray sum: "<<MaxSumCircular(input_array,n)<<endl;
return 0;
}
}