using System.Collections.Generic;
public static void Main()
Console.WriteLine("Hello World");
var inputArray = new int[] {2, 5};
GetAllSums(inputArray, 0, 0, 10);
foreach(var sum in AllSums)
public static List<int> AllSums = new List<int>();
public static HashSet<int> SumsPresent = new HashSet<int>();
public static void GetAllSums(int[] inputArray, int startIndex, int previousSum, int maxValue)
for (int i = startIndex; i < inputArray.Length; i++)
var sum = previousSum + inputArray[i];
if (!SumsPresent.Contains(sum))
GetAllSums(inputArray, i + 1, sum, maxValue);
GetAllSums(inputArray, i, sum, maxValue);