Where am I going wrong?

#include<bits/stdc++.h>

using namespace std;

int kadane(int a[], int n);

int maxCircularSum(int a[], int n)
{
int max_kadane = kadane(a, n);

int max_wrap = 0, i;  
for (i = 0; i < n; i++)  
{  
        max_wrap += a[i]; 
        a[i] = -a[i];  
}    
max_wrap = max_wrap + kadane(a, n);   
return (max_wrap > max_kadane)? max_wrap: max_kadane;  

}

int kadane(int a[], int n)
{
int max_so_far = 0, max_ending_here = 0;
int i;
for (i = 0; i < n; i++)
{
max_ending_here = max_ending_here + a[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 main() {
int T; cin >> T;
while(T > 0){
int N; cin >> N;
int arr[N];
for(int i = 0; i < N; i++)
cin >> arr[i];
cout << maxCircularSum(arr, N);

	T--;
}
return 0;

}

GIVEN TEST CASE WORKING!

hello @siddhu28.ss
print output for each test cases in separate line.

ie add cout<<"\n"; after calling printing answer

1 Like