#include
#include
using namespace std;
int circular(int arr[], int n)
{
int total = 0;
int max_so_far = arr[0];
int min_so_far = arr[0];
int max_here = arr[0];
int min_here = arr[0];
for(int i = 0;i < n;i++){
total += arr[i];}
for (int i = 1; i < n; i++){
max_so_far = max(max_so_far+arr[i], arr[i]);
max_here = max(max_so_far, max_here);
min_so_far = min(min_so_far+arr[i], arr[i]);
min_here = min(min_so_far, min_here);
}
if(min_here == total)
return max_here;
return max(max_here, total-min_here);
}
int main() {
int t, n;
cin >> t;
while(t–){
cin >> n;
int *arr = new int[n];
for(int i = 0;i < n;i++){
cin >> arr[i];
}
int max = circular(arr, n);
cout << max;
}
return 0;
}
why is compilation giving tle?


