using System.Collections.Generic;
public static void Main()
Console.WriteLine(MajorSum(new int[] { 1, 2, 3, 4, 0, 0, -3, -2 }));
Console.WriteLine(MajorSum(new int[] { -4, -8, -12, -3, 4, 7, 1, 3, 0, 0, 0, 0 }));
Console.WriteLine(MajorSum(new int[] { 0, 0, 0, 0, 0, 1, 2, -3 }));
Console.WriteLine(MajorSum(new int[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }));
Console.WriteLine(MajorSum(new int[] { 0 }));
Console.WriteLine(MajorSum(new int[] { 1 }));
Console.WriteLine(MajorSum(new int[] { -1 }));
Console.WriteLine(MajorSum(new int[] { 10, -12, 4, 0, -3, -7, -91, 45 }));
Console.WriteLine(MajorSum(new int[] { 0, 1, 0, 1, 0, 1, 0, 1, 0 }));
Console.WriteLine(MajorSum(new int[] { -1, -1, -1, -1, -1, 1, 1, 1, 1, 0, 0, 0, 0 }));
Console.WriteLine(MajorSum(new int[] { 1, 2, 3, 4, -5, -4, -3, -2, -1, 0 }));
Console.WriteLine(MajorSum(new int[] { 0, 1, -2 }));
Console.WriteLine(MajorSum(new int[] { 2, 0, -1 }));
Console.WriteLine(MajorSum(new int[] { 2, 0, 0, 0, -1 }));
Console.WriteLine(MajorSum(new int[] { 2, 0, 0, 0, 0, -1 }));
public static int MajorSum( int[] arr )
var positiveList = new List<int>();
var negativeList = new List<int>();
foreach ( var item in arr )
var positiveSum = positiveList.Sum();
var negativeSum = negativeList.Sum();
if ( positiveSum > -negativeSum )
if ( zerosCount > positiveSum )
if ( zerosCount > -negativeSum )