K Concatenation

Hey,

I am kind of clueless why my program does not pass the hidden tests.

https://www.codechef.com/viewsolution/37877521

Any help is appreciated!

#include
#include<bits/stdc++.h>
using namespace std;

typedef long long l;

l radane(int arr[],int n,int k)
{
l current_max=0,max_sum=INT_MIN;
for(int i=0;i<n;i++)
{
current_max+=arr[i];

        if(current_max>max_sum)
        {
            max_sum=current_max;
        }
         if(current_max<0)
         {
              current_max=0;
         }
    }
    return max_sum;
}

l maximumarraysum(int arr[],int n,int k)
{
l subarray_sum=radane(arr,n,k);
if(k==1)
{
return subarray_sum;
}
l current_prefix_sum=0;
l current_suffix_sum=0;
l max_prefix_sum=INT_MIN;
l max_suffix_sum=INT_MIN;

          for(int i=0;i<n;i++)
          {
              current_prefix_sum+=arr[i];
              
              if(current_prefix_sum>max_prefix_sum)
              {
                  max_prefix_sum=current_prefix_sum;
              }
              
          }
          // cout << "hello\n";

          l total_sum=current_prefix_sum;
          
          for(int j=n-1;j>=0;j--)
          {
              current_suffix_sum+=arr[j];
              
              if(current_suffix_sum>max_suffix_sum)
              {
                  max_suffix_sum=current_suffix_sum;
              }
          }
          l ans;
          if(total_sum<0)
          {
            ans=max(max_suffix_sum+max_prefix_sum,subarray_sum);  
          }else{
          ans =max(max_suffix_sum+max_prefix_sum+((k-2)*total_sum),subarray_sum);
          }
          return ans;
    
}

int main() {
int t;
cin>>t;
while(t–)
{
int n,k;
cin>>n>>k;

int arr[n];
for(int i=0;i<n;i++)
{
cin>>arr[i];
}
cout<<maximumarraysum(arr, n, k)<<endl;
}
return 0;
}