internal static class Ozon {
public static void Main() {
var array = new [] { 10, -3, 42, -12, 8, 1, 1, -7, 0, 3 };
var result = FindSubArrayWithMaxSum(array);
Console.WriteLine(string.Join(", ", result));
private static int[] FindSubArrayWithMaxSum(int[] array)
var currentStartIndex = 0;
for (var i = 0; i < array.Length; i++)
currentStartIndex = i + 1;
maxStartIndex = currentStartIndex;
return array[maxStartIndex..(maxEndIndex + 1)];