diff --git a/max_subarray.cpp b/max_subarray.cpp new file mode 100644 index 0000000..5b8270d --- /dev/null +++ b/max_subarray.cpp @@ -0,0 +1,25 @@ +#include +#include +#include + +// Function to find the maximum subarray sum +int maxSubarraySum(const std::vector& arr) { + int maxSum = arr[0]; + int currentSum = arr[0]; + + for (int i = 1; i < arr.size(); i++) { + currentSum = std::max(arr[i], currentSum + arr[i]); + maxSum = std::max(maxSum, currentSum); + } + + return maxSum; +} + +int main() { + std::vector arr = {-2, 1, -3, 4, -1, 2, 1, -5, 4}; + int maxSum = maxSubarraySum(arr); + + std::cout << "Maximum subarray sum: " << maxSum << std::endl; + + return 0; +}