find maximum contiguous Sub arrays

#include <iostream>
#include <climits>

void findMaxContiguousSubarray(int arr[], int size) {
    int maxSum = INT_MIN;
    int currentSum = 0;
    int start = 0;
    int end = 0;
    int s = 0;

    for (int i = 0; i < size; i++) {
        currentSum += arr[i];

        if (maxSum < currentSum) {
            maxSum = currentSum;
            start = s;
            end = i;
        }

        if (currentSum < 0) {
            currentSum = 0;
            s = i + 1;
        }
    }

    std::cout << "Maximum contiguous subarray sum: " << maxSum << std::endl;
    std::cout << "Subarray elements: ";
    for (int i = start; i <= end; i++) {
        std::cout << arr[i] << " ";
    }
    std::cout << std::endl;
}

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

    findMaxContiguousSubarray(arr, size);

    return 0;
}