#include <stdio.h>

int maxSubarraySum(int arr[], int size) {
    int maxSum = arr[0];
    int currentSum = arr[0];

    for (int i = 1; i < size; i++) {
        if (currentSum < 0)
            currentSum = arr[i];
        else
            currentSum += arr[i];//sum all no's in the loop

        if (currentSum > maxSum)
            maxSum = currentSum;//if greater then only update the value
    }

    return maxSum;
}

int main() {
    int arr[] = {-2, 1, -3, 4, -1, 2, 1, -5, 4};
    int size = sizeof(arr) / sizeof(arr[0]);

    int maxSum = maxSubarraySum(arr, size);

    printf("Maximum Sum: %d\n", maxSum);

    return 0;
}

Embed on website

To embed this program on your website, copy the following code and paste it into your website's HTML: