# Sum of bitwise OR of all subarrays

• Difficulty Level : Easy
• Last Updated : 22 Jun, 2021

Give an array of positive integers, find the total sum after performing the bit wise OR operation on all the sub arrays of a given array.
Examples:

```Input : 1 2 3 4 5
Output : 71

Input : 6 5 4 3 2
Output : 84``` First initialize the two variable sum=0, sum1=0, variable sum will store the total sum and, with sum1 we will perform bitwise OR operation for each jth element, and add sum1 with sum.
1:- Traverse the from 0th position to n-1.
2:- For each ith variable we will perform bit wise OR operation on all the sub arrays to find the total sum.
Repeat step until the whole array is traverse.

## C++

 `// C++ program to find sum of``// bitwise ors of all subarrays.``#include ``using` `namespace` `std;` `int` `totalSum(``int` `a[], ``int` `n)``{``    ``int` `i, sum = 0, sum1 = 0, j;` `    ``for` `(i = 0; i < n; i++)``    ``{` `        ``sum1 = 0;` `        ``// perform Bitwise OR operation``        ``// on all the subarray present``        ``// in array``        ``for` `(j = i; j < n; j++)``        ``{` `            ``// OR operation``            ``sum1 = (sum1 | a[j]);` `            ``// now add the sum after performing``            ``// the Bitwise OR operation``            ``sum = sum + sum1;``        ``}``    ``}` `    ``return` `sum;``}` `// Driver code``int` `main()``{``    ``int` `a[] = { 1, 2, 3, 4, 5 };``    ``int` `n = ``sizeof``(a) / ``sizeof``(a);``    ``cout << totalSum(a, n) << endl;``    ``return` `0;``}` `// This code is contributed``// by Shivi_Aggarwal`

## C

 `// C program to find sum of bitwise ors``// of all subarrays.``#include ` `int` `totalSum(``int` `a[], ``int` `n)``{``    ``int` `i, sum = 0, sum1 = 0, j;` `    ``for` `(i = 0; i < n; i++) {` `        ``sum1 = 0;` `        ``// perform Bitwise OR operation``        ``// on all the subarray present in array``        ``for` `(j = i; j < n; j++) {` `            ``// OR operation``            ``sum1 = (sum1 | a[j]);` `            ``// now add the sum after performing the``            ``// Bitwise OR operation``            ``sum = sum + sum1;``        ``}``    ``}` `    ``return` `sum;``}` `// Driver code``int` `main()``{``    ``int` `a[] = { 1, 2, 3, 4, 5 };``    ``int` `n = ``sizeof``(a)/``sizeof``(a);``    ``printf``(``"%d "``, totalSum(a, n));``    ``return` `0;``}`

## Java

 `// Java program to find sum``// of bitwise ors of all subarrays.``import` `java.util.*;``import` `java.lang.*;``import` `java.io.*;` `class` `GFG``{``static` `int` `totalSum(``int` `a[], ``int` `n)``{``    ``int` `i, sum = ``0``, sum1 = ``0``, j;` `    ``for` `(i = ``0``; i < n; i++)``    ``{``        ``sum1 = ``0``;` `        ``// perform Bitwise OR operation``        ``// on all the subarray present``        ``// in array``        ``for` `(j = i; j < n; j++)``        ``{` `            ``// OR operation``            ``sum1 = (sum1 | a[j]);` `            ``// now add the sum after``            ``// performing the Bitwise``            ``// OR operation``            ``sum = sum + sum1;``        ``}``    ``}` `    ``return` `sum;``}` `// Driver code``public` `static` `void` `main(String args[])``{``    ``int` `a[] = { ``1``, ``2``, ``3``, ``4``, ``5` `};``    ``int` `n = a.length;``    ``System.out.println(totalSum(a,n));``}``}` `// This code is contributed``// by Subhadeep`

## Python3

 `# Python3 program to find sum of``# bitwise ors of all subarrays.``def` `totalSum(a, n):``    ``sum` `=` `0``;``    ``for` `i ``in` `range``(n):``        ``sum1 ``=` `0``;``        ` `        ``# perform Bitwise OR operation``        ``# on all the subarray present``        ``# in array``        ``for` `j ``in` `range``(i, n):``            ` `            ``# OR operation``            ``sum1 ``=` `(sum1 | a[j]);``            ` `            ``# now add the sum after``            ``# performing the``            ``# Bitwise OR operation``            ``sum` `=` `sum` `+` `sum1;``    ``return` `sum``;` `# Driver code``a ``=` `[``1``, ``2``, ``3``, ``4``, ``5``];``n ``=` `len``(a);``print``(totalSum(a, n));` `# This code is contributed by mits`

## C#

 `// C# program to find sum``// of bitwise ors of all``// subarrays.``using` `System;` `class` `GFG``{``static` `int` `totalSum(``int``[] a, ``int` `n)``{``    ``int` `sum = 0;``    ``for``(``int` `i = 0; i < n; i++)``    ``{``        ``int` `sum1 = 0;` `        ``// perform Bitwise OR operation``        ``// on all the subarray present``        ``// in array``        ``for` `(``int` `j = i; j < n; j++)``        ``{` `            ``// OR operation``            ``sum1 = (sum1 | a[j]);` `            ``// now add the sum after``            ``// performing the Bitwise``            ``// OR operation``            ``sum = sum + sum1;``        ``}``    ``}` `    ``return` `sum;``}` `// Driver code``static` `void` `Main()``{``    ``int``[] a = { 1, 2, 3, 4, 5 };``    ``int` `n = a.Length;``    ``Console.WriteLine(totalSum(a,n));``}``}` `// This code is contributed``// by mits`

## PHP

 ``

## Javascript

 ``

Output:

`71`

My Personal Notes arrow_drop_up