public static void Main()
int Numcase = Convert.ToInt32(Console.ReadLine());
int[,] output = new int[Numcase, 2];
for (int i = 1; i <= Numcase; i++)
int len = Convert.ToInt32(Console.ReadLine());
int[] inputary = new int[len];
input = Console.ReadLine();
splited = input.Trim().Split(' ');
for (int j = 0; j < splited.Length; j++)
inputary[j] = Convert.ToInt32(splited[j]);
output[i - 1, 0] = ContiguousSum(inputary);
output[i - 1, 1] = NonContiguousSum(inputary);
for (int i = 0; i < Numcase; i++)
for (int j = 0; j < 2; j++)
Console.Write(output[i, j] + " ");
private static int ContiguousSum(int[] inputArray)
int maxSum = inputArray[0];
for (int i = 0; i < inputArray.Length; i++)
for (int j = 1; j <= inputArray.Length - i; j++)
tempsum += inputArray[i + k];
private static int NonContiguousSum(int[] inputArray)
int maxNsum = inputArray[0];
int powerSetLen = FindPowerSetLen(inputArray.Length);
for (int i = 1; i < powerSetLen; i++)
for (int j = 0; j < inputArray.Length; j++)
tempsum += inputArray[j];
private static int FindPowerSetLen(int n)
for (int i = 1; i <= n; i++)