using System;
public class Program
{
internal static void count_odd_and_even_sum_of_pairs(int[] arr, int[] evenodd) {
int total_even = 0, total_odd = 0;
int size = arr.Length;
for (int i = 0; i < size; i++) {
if (arr[i] % 2 == 0) {
total_even++;
}
else {
total_odd++;
}
}
// For all the even elements -> sum of the pair will be even
int evenPairs = ((total_even * (total_even - 1)) / 2);
// For all the odd elements -> sum of the pair will be even
evenPairs += ((total_odd * (total_odd - 1)) / 2);
// All even elements * all odd element -> sum of the pair will be odd
int oddPairs = total_even * total_odd;
evenodd[0] = evenPairs;
evenodd[1] = oddPairs;
}
public static void Main(string[] args)
{
int[] arr = new int[] {1, 2, 3, 4, 5};
int[] evenodd = new int[2];
// 1 + 3, 1 + 5, 2 + 4, 3 + 5 = 4 Even
// 1 + 2, 1 + 4, 2 + 3, 2 + 5, 3 + 4, 4 + 5 = 6 Odd
count_odd_and_even_sum_of_pairs(arr, evenodd);
Console.WriteLine("Total Even Sum = " + evenodd[0]);
Console.WriteLine("Total Odd Sum = " + evenodd[1]);
}
}
/*
run:
Total Even Sum = 4
Total Odd Sum = 6
*/