#include <stdio.h>
void count_odd_and_even_sum_of_pairs(int *arr, int size, int *evenodd) {
int total_even = 0, total_odd = 0;
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;
}
int main()
{
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
int evenodd[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, size, evenodd);
printf("Total Even Sum = %d\n", evenodd[0]);
printf("Total Odd Sum = %d\n", evenodd[1]);
return 0;
}
/*
run:
Total Even Sum = 4
Total Odd Sum = 6
*/