diff --git a/Arrays/c++/Kadane.cpp b/Arrays/c++/Kadane.cpp new file mode 100644 index 0000000..09d68b0 --- /dev/null +++ b/Arrays/c++/Kadane.cpp @@ -0,0 +1,17 @@ +#include +long long maxSubarraySum(int arr[], int n) +{ + long long int sum_till_now = 0; + //sum till now as soon as it does not get -ve we + long long int max_sum = 0; + for(int i = 0; i < n;i++){ + sum_till_now = sum_till_now + arr[i]; + if(sum_till_now > max_sum){ + max_sum = sum_till_now; + } + if(sum_till_now < 0){ + sum_till_now = 0; + } + } + return max_sum; +}