#include<iostream>
#include<climits>
using namespace std;
int main(){
int n;
cin>>n;
int a[1000];
int cum[1000];
int max_sum=INT_MIN;
int sum=0;
for (int i = 0; i < n; i++)
{
cin>>a[i];
}
cum[0]=a[0];
for (int i = 1; i <n ; i++)
{
cum[i]=cum[i-1]+a[i];
}
for (int i = 0; i < n; i++)
{
for (int j = i; j < n; j++)
{
sum=cum[j]-cum[i-1];
max_sum=max(max_sum,sum);
sum=0;
}
}
cout<<max_sum;
return 0;
}
Why this code is giving wrong output for maximum subarray using cummulative sum approch
hello @sagar_aggarwal

handle i=0 case seprately . becuase for i=0 we cannot access i-1 (-1 index).
add this->
if(i==0)
sum=cum[j]
else
sum=cum[j]-cum[i-1]