# Element equal to the sum of all the remaining elements

• Difficulty Level : Basic
• Last Updated : 09 Sep, 2022

Given an array of N positive elements. The task is to find an element which is equal to the sum of all elements of array except itself.

Examples:

```Input: arr[] = {1, 2, 3, 6}
Output: 6
6 is the element which is equal to the sum of all
remaining elements i.e. 1 + 2+ 3 = 6

Input: arr[] = {2, 2, 2, 2}
Output: -1```

Approach: First of all, find the sum of all elements of an array. Then iterate over each element and check the condition that if (a[i] == sum-a[i] ). If true then print that a[i], else print “-1” if no such element is found.

Below is the implementation of the above approach:

## C++

 `// C++ implementation of the above approach``#include ``#define ll long long int``using` `namespace` `std;` `// Function to find the element``int` `findEle(``int` `arr[], ``int` `n)``{``    ``// sum is use to store``    ``// sum of all elements``    ``// of array``    ``ll sum = 0;` `    ``for` `(``int` `i = 0; i < n; i++)``        ``sum += arr[i];` `    ``// iterate over all elements``    ``for` `(``int` `i = 0; i < n; i++)``        ``if` `(arr[i] == sum - arr[i])``            ``return` `arr[i];` `    ``return` `-1;``}` `// Driver code``int` `main()``{``    ``int` `arr[] = { 1, 2, 3, 6 };``    ``int` `n = ``sizeof``(arr) / ``sizeof``(arr);``    ``cout << findEle(arr, n);``    ``return` `0;``}`

## Java

 `// Java implementation of the above approach` `import` `java.io.*;` `class` `GFG {`  `// Function to find the element``static` `int` `findEle(``int` `arr[], ``int` `n)``{``    ``// sum is use to store``    ``// sum of all elements``    ``// of array``    ``int` `sum = ``0``;` `    ``for` `(``int` `i = ``0``; i < n; i++)``        ``sum += arr[i];` `    ``// iterate over all elements``    ``for` `(``int` `i = ``0``; i < n; i++)``        ``if` `(arr[i] == sum - arr[i])``            ``return` `arr[i];` `    ``return` `-``1``;``}` `// Driver code` `    ``public` `static` `void` `main (String[] args) {``        ``int` `arr[] = { ``1``, ``2``, ``3``, ``6` `};``    ``int` `n = arr.length;``    ``System.out.print(findEle(arr, n));``    ``}``}``// This code is contributed by shs..`

## Python3

 `# Python 3 implementation of``# the above approach` `# Function to find the element``def` `findEle(arr, n) :``    ` `    ``# sum is use to store``    ``# sum of all elements``    ``# of array``    ``sum` `=` `0``    ` `    ``for` `i ``in` `range``(n) :``        ``sum` `+``=` `arr[i]``    ` `    ``# iterate over all elements``    ``for` `i ``in` `range``(n) :``        ``if` `arr[i] ``=``=` `sum` `-` `arr[i] :``            ``return` `arr[i]``    ` `    ``return` `-``1` `# Driver Code``if` `__name__ ``=``=` `"__main__"` `:``    ` `    ``arr ``=` `[``1``, ``2``, ``3``, ``6` `]``    ``n ``=` `len``(arr)``    ``print``(findEle(arr, n))` `# This code is contributed by Ryuga`

## C#

 `// C# implementation of the``// above approach``using` `System;` `class` `GFG``{` `// Function to find the element``static` `int` `findEle(``int` `[]arr, ``int` `n)``{``    ``// sum is use to store``    ``// sum of all elements``    ``// of array``    ``int` `sum = 0;` `    ``for` `(``int` `i = 0; i < n; i++)``        ``sum += arr[i];` `    ``// iterate over all elements``    ``for` `(``int` `i = 0; i < n; i++)``        ``if` `(arr[i] == sum - arr[i])``            ``return` `arr[i];` `    ``return` `-1;``}` `// Driver code``static` `public` `void` `Main (String []args)``{``    ``int` `[]arr = { 1, 2, 3, 6 };``    ``int` `n = arr.Length;``    ``Console.WriteLine(findEle(arr, n));``}``}` `// This code is contributed``// by Arnab Kundu`

## PHP

 ``

## Javascript

 ``

Output

`6`

Complexity Analysis:

• Time Complexity: O(n)
• Auxiliary Space: O(1)

Note: Above problem can be solved with the concept used in Check if the array has an element which is equal to sum of all the remaining elements.

My Personal Notes arrow_drop_up