# Replace every element of the array by sum of all other elements

Given an array of size N, the task is to find the encrypted array. The encrypted array is obtained by replacing each element of the original array with the sum of the remaining array elements i.e.

For every i,
arr[i] = sumOfArrayElements – arr[i]

Examples:

```Input:  arr[] = {5, 1, 3, 2, 4}
Output: 10 14 12 13 11
Original array {5, 1, 3, 2, 4}
Encrypted array is obtained as:
= {1+3+2+4, 5+3+2+4, 5+1+2+4, 5+1+3+4, 5+1+3+2}
= {10, 14, 12, 13, 11}
Each element of original array is replaced by the
sum of the remaining array elements.

Input: arr[] = {6, 8, 32, 12, 14, 10, 25 }
Output: 101 99 75 95 93 97 82
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

This problem is similar to Find original array from encrypted array (An array of sums of other elements).

Approach:

1. Find the sum of all elements of the array.
2. Traverse the array and replace arr[i] with the sum-arr[i].
 `// C++ implementation to find encrypted array ` `// from the original array ` `#include ` `using` `namespace` `std; ` ` `  `// Finds and prints the elements of the encrypted ` `// array ` `void` `findEncryptedArray(``int` `arr[], ``int` `n) ` `{ ` `    ``// total sum of elements ` `    ``// of original array ` `    ``int` `sum = 0; ` `    ``for` `(``int` `i = 0; i < n; i++) ` `        ``sum += arr[i]; ` ` `  `    ``// calculating and displaying ` `    ``// elements of encrypted array ` `    ``for` `(``int` `i = 0; i < n; i++) ` `        ``cout << (sum - arr[i]) << ``" "``; ` `} ` ` `  `// Driver program ` `int` `main() ` `{ ` `    ``int` `arr[] = { 5, 1, 3, 2, 4 }; ` `    ``int` `N = ``sizeof``(arr) / ``sizeof``(arr[0]); ` `    ``findEncryptedArray(arr, N); ` `    ``return` `0; ` `} `

 `// Java implementation to find encrypted ` `// array from the original  array ` ` `  `class` `GFG { ` `    ``// Finds and prints the elements ` `    ``// of the encrypted array ` `    ``static` `void` `findEncryptedArray(``int` `arr[], ``int` `n) ` `    ``{ ` `        ``// total sum of elements ` `        ``// of original array ` `        ``int` `sum = ``0``; ` `        ``for` `(``int` `i = ``0``; i < n; i++) ` `            ``sum += arr[i]; ` ` `  `        ``// calculating and displaying ` `        ``// elements of encrypted array ` `        ``for` `(``int` `i = ``0``; i < n; i++) ` `            ``System.out.print(sum - arr[i] + ``" "``); ` `    ``} ` ` `  `    ``// Driver program ` `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``int` `arr[] = { ``5``, ``1``, ``3``, ``2``, ``4` `}; ` `        ``int` `N = arr.length; ` `        ``findEncryptedArray(arr, N); ` `    ``} ` `} `

 `# Python 3 implementation  ` `# to find encrypted array  ` `# from the original array  ` ` `  `# Finds and prints the elements  ` `# of the encrypted array ` `def` `findEncryptedArray(arr, n) : ` `    ``sum` `=` `0` ` `  `    ``# total sum of elements  ` `    ``# of original array  ` `    ``for` `i ``in` `range``(n) : ` `        ``sum` `+``=` `arr[i] ` ` `  `    ``# calculating and displaying  ` `    ``# elements of encrypted array  ` `    ``for` `i ``in` `range``(n) : ` `        ``print``(``sum` `-` `arr[i], end ``=` `" "``) ` `         `  `# Driver Code ` `if` `__name__ ``=``=` `"__main__"` `: ` ` `  `    ``arr ``=` `[ ``5``, ``1``, ``3``, ``2``, ``4``] ` `    ``N ``=` `len``(arr) ` `     `  `    ``# function calling  ` `    ``findEncryptedArray(arr, N) ` ` `  `# This code is contributed by ANKITRAI1 `

 `// C# implementation to find  ` `// encrypted array from the  ` `// original array ` `using` `System; ` ` `  `class` `GFG ` `{ ` `// Finds and prints the elements ` `// of the encrypted array ` `static` `void` `findEncryptedArray(``int` `[]arr,  ` `                               ``int` `n) ` `{ ` `    ``// total sum of elements ` `    ``// of original array ` `    ``int` `sum = 0; ` `    ``for` `(``int` `i = 0; i < n; i++) ` `        ``sum += arr[i]; ` ` `  `    ``// calculating and displaying ` `    ``// elements of encrypted array ` `    ``for` `(``int` `i = 0; i < n; i++) ` `        ``Console.Write(sum - arr[i] + ``" "``); ` `} ` ` `  `// Driver Code ` `public` `static` `void` `Main() ` `{ ` `    ``int` `[]arr = { 5, 1, 3, 2, 4 }; ` `    ``int` `N = arr.Length; ` `    ``findEncryptedArray(arr, N); ` `} ` `} ` ` `  `// This code is contributed  ` `// by inder_verma. `

 ` `

Output:
```10 14 12 13 11
```

Time complexity: O(n)

Strategy Path planning and Destination matters in success No need to worry about in between temporary failures

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.

Article Tags :
Practice Tags :