Find original array from encrypted array

QUESTION

Find original array from a given encrypted array of size n. Encrypted array is obtained by replacing each element of the original array by the sum of the remaining array elements.

“TESTCASE_1”: “5\n6 8 9 2 1\n###—###SEPERATOR—###—\n0 -2 -3 4 5”, “TESTCASE_2”: “6\n1 2 3 4 5 6\n###—###SEPERATOR—###—\n3 2 1 0 -1 -2”, “TESTCASE_3”: “7\n1 23 56 4 8 45 32\n###—###SEPERATOR—###—\n27 5 -28 24 20 -17 -4”, “TESTCASE_4”: “4\n0 -1 -3 8\n###—###SEPERATOR—###—\n1 2 4 -7”, “TESTCASE_5”: “0\n###—###SEPERATOR—###—\n0

ANSWER

#include<iostream>
using namespace std;
 
// Finds and prints the elements of the original
// array
void findAndPrintOriginalArray(int arr[], int n)
{
    // total sum of elements
    // of encrypted array
    int i,arr_sum = 0;
    for ( i=0; i<n; i++)
        arr_sum += arr[i];
 
    // total sum of elements
    // of original array
    arr_sum = arr_sum/(n-1);
 
    // calculating and displaying
    // elements of original array
    for (i=0; i<n; i++)
        cout << (arr_sum - arr[i]) << " ";
}
 
// Driver program to test above
int main()
{
  int arr[30],n,i;
  scanf("%d",&n);
  for(i=0;i<n;i++)
    scanf("%d",&arr[i]);
  findAndPrintOriginalArray(arr, n);
    return 0;
}
Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
CHP Adblock Detector Plugin | Codehelppro