Can anyone help me in understanding what’s wrong with my code.
I have tried various test cases manually and i am getting right answer, but in codechef
compiler most of the cases are coming W.A .
Question :CodeChef: Practical coding for everyone
logic is standard (k-2)*sum of array + kadane for 2A , and all k values are handled as well ,
At the end i have done modulo
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
const unsigned int mx = 1000000007;
long long int t;
cin>>t;
///1 -2 1 1 -2 1
while(t!=0)
{
long long int n,k;
cin>>n>>k;
long long int a[100000];
long long int nsum = 0;
for(long long int i=0;i<n;i++)
{
cin>>a[i];
nsum = nsum + a[i];
}
if(k==1)
{
long long int sumi = 0;
long long int maxi = 0;
for(long long int i=0;i<n;i++)
{
sumi = sumi + a[i];
if(sumi<0)
{
sumi = 0;
}
if(sumi>maxi)
{
maxi = sumi ;
}
}
maxi = maxi % mx;
cout<<maxi<<endl;
}
else
{
long long int maxi = 0;
long long int x= 2;
long long int sumi = 0;
while(x!=0)
{
for(long long int i=0;i<n;i++)
{
sumi = sumi + a[i];
if(sumi<0)
{
sumi = 0;
}
if(sumi>maxi)
{
maxi = sumi ;
}
}
x--;
}
if(nsum>0)
{
nsum = nsum *(k-2);
maxi = maxi + nsum ;
}
maxi = maxi % mx;
cout<<maxi<<endl;
}
t--;
}
}