Skip to content
Related Articles

Related Articles

Improve Article
Element equal to the sum of all the remaining elements
  • Difficulty Level : Basic
  • Last Updated : 24 May, 2021

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 found.
Below is the implementation of the above approach: 
 

C++




// C++ implementation of the above approach
#include <bits/stdc++.h>
#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[0]);
    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




<?php
// PHP implementation of the above approach
 
// Function to find the element
function findEle($arr, $n)
{
    // sum is use to store
    // sum of all elements
    // of array
    $sum = 0;
 
    for ($i = 0; $i < $n; $i++)
        $sum += $arr[$i];
 
    // iterate over all elements
    for ($i = 0; $i < $n; $i++)
        if ($arr[$i] == $sum - $arr[$i])
            return $arr[$i];
 
    return -1;
}
 
// Driver code
$arr= array(1, 2, 3, 6 );
$n = sizeof($arr);
echo findEle($arr, $n);
 
// This code is contributed
// by Akanksha Rai
?>

Javascript




<script>
 
// javascript implementation of the above approach
 
// Function to find the element
function findEle(arr, n)
{
    // sum is use to store
    // sum of all elements
    // of array
    var sum = 0;
 
    for (var i = 0; i < n; i++)
        sum += arr[i];
 
    // iterate over all elements
    for (var i = 0; i < n; i++)
        if (arr[i] == sum - arr[i])
            return arr[i];
 
    return -1;
}
 
// Driver code
    var arr = [1, 2, 3, 6];
    var n = arr.length;
    document.write(findEle(arr, n));
 
// This code is contributed by ipg016107.
</script>
Output: 
6

 

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.
 

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :