#include
#include
using namespace std;
int circularSum(int a[], int n) {
int minSubarray = a[0];
int maxSubarray = a[0];
int curMax = a[0];
int curMin = a[0];
int arraySum =0;
int sum;
for(int i=0; i<n; i++) {
sum+=a[i];
}
for(int i=1; i<n; i++) {
curMax = max(curMax + a[i], a[i]);
maxSubarray = max(curMax, maxSubarray);
curMin = min(curMin + a[i], a[i]);
minSubarray = min(curMin, minSubarray);
}
if (minSubarray == sum) {
return maxSubarray;
}
return max(maxSubarray, sum - minSubarray);
}
int main() {
int test;
cin>>test;
for(int t=0; t<test; t++) {
int n;
cin>>n;
int a[n];
for(int i=0; i<n; i++) {
cin>>a[i];
}
cout<<circularSum(a,n)<<endl;
}
return 0;
}
what’s wrong in this code?