#include
using namespace std;
int kadane(int a[],int n);
int kadane(int a[],int n)
{
int cs=0,ms=0,i;
for( i=0;i<n;i++)
{
cs=cs+a[i];
if(cs<0)
{
cs=0;
}
if(ms<cs)
{
ms=cs;
}
}
return ms;
}
int maxcircularsum(int a[],int n)
{
int max_kadane=0,wap_max=0,i;
max_kadane=kadane(a,n);
for(i=0;i<n;i++)
{
wap_max+=a[i];
a[i]=-a[i];
}
wap_max=wap_max+kadane(a,n);
return (wap_max>max_kadane)?wap_max:max_kadane;
}
int main() {
int t,n;
cin>>t;
while(t){
int a[1000];
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
t–;
cout<<maxcircularsum(a,n);
}
return 0;
}
the result of sample input is right but in test case it is showing wrong answer