# Sum of all even occurring element in an array

Given an array of integers containing duplicate elements. The task is to find the sum of all even occurring elements in the given array. That is the sum of all such elements whose frequency is even in the array.

**Examples**:

Input: arr[] = {1, 1, 2, 2, 3, 3, 3}Output: 6 The even occurring element is 1 and 2, and it's number of occurrence is 2. Therefore sum of all 1's in the array = 1+1+2+2 = 6.Input: arr[] = {10, 20, 30, 40, 40}Output: 80 Element with even frequency are 40. Sum = 40.

**Approach**:

- Traverse the array and use a unordered_map in C++ to store the frequency of elements of the array such that the key of map is the array element and value is its frequency in the array.
- Then, traverse the map to find the frequency of elements and check if it is even, if it is even, then add this element to sum.

Below is the implementation of the above approach:

`// CPP program to find the sum of all even ` `// occurring elements in an array ` ` ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// Function to find the sum of all even ` `// occurring elements in an array ` `int` `findSum(` `int` `arr[], ` `int` `N) ` `{ ` ` ` `// Map to store frequency of elements ` ` ` `// of the array ` ` ` `unordered_map<` `int` `, ` `int` `> mp; ` ` ` ` ` `for` `(` `int` `i = 0; i < N; i++) { ` ` ` `mp[arr[i]]++; ` ` ` `} ` ` ` ` ` `// variable to stroe sum of all ` ` ` `// even occurring elements ` ` ` `int` `sum = 0; ` ` ` ` ` `// loop to iteratre through map ` ` ` `for` `(` `auto` `itr = mp.begin(); itr != mp.end(); itr++) { ` ` ` ` ` `// check if frequency is even ` ` ` `if` `(itr->second % 2 == 0) ` ` ` `sum += (itr->first) * (itr->second); ` ` ` `} ` ` ` ` ` `return` `sum; ` `} ` ` ` `// Driver Code ` `int` `main() ` `{ ` ` ` `int` `arr[] = { 10, 20, 20, 40, 40 }; ` ` ` ` ` `int` `N = ` `sizeof` `(arr) / ` `sizeof` `(arr[0]); ` ` ` ` ` `cout << findSum(arr, N); ` ` ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

**Output:**

120

**Time Complexity**: O(N), where N is the number of elements in the array.

## Recommended Posts:

- First element occurring k times in an array
- Sum of all minimum occurring elements in an Array
- Two odd occurring elements in an array where all other occur even times
- Find the sum of all highest occurring elements in an Array
- Find even occurring elements in an array of limited range
- Closest greater element for every array element from another array
- Replace each element by the difference of the total size of the array and frequency of that element
- Range Query on array whose each element is XOR of index value and previous element
- Sum of (maximum element - minimum element) for all the subsets of an array.
- Replace every array element by Bitwise Xor of previous and next element
- Find last element after deleting every second element in array of n integers
- Replace every element of the array by its previous element
- Maximum sum in an array such that every element has exactly one adjacent element to it
- Find an element in array such that sum of left array is equal to sum of right array
- Replace every element of the array by its next element

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.