public static void Main(string[] args)
int[] nums = { -2, 1, -3, 4, -1, 2, 1, -5, 4 };
int maxSubarraySum = FindMaximumSubarraySum(nums);
Console.WriteLine("Maximum subarray sum: " + maxSubarraySum);
public static int FindMaximumSubarraySum(int[] nums)
if (nums == null || nums.Length == 0)
throw new ArgumentException("Input array cannot be null or empty.");
int currentSum = nums[0];
for (int i = 1; i < nums.Length; i++)
currentSum = Math.Max(nums[i], currentSum + nums[i]);
maxSum = Math.Max(maxSum, currentSum);