Given an array **arr** of size **N**. The task is to find the sum of the first half (**N/2**) elements and second half elements (**N – N/2**) of an array.**Examples:**

Input :arr[] = {20, 30, 60, 10, 25, 15, 40}Output :110, 90

Sum of first N/2 elemets 20 + 30 + 60 is 110Input :arr[] = {50, 35, 20, 15}Output :85, 35

**Approach:**

Initialize SumFirst and SumSecond as 0. Traverse the given array and add elements in SumFirst if the current index is less than N/2 otherwise add in SumSecond.

Below is the implementation of the above approach:

## C++

`// C++ program to find the sum of the first half` `// elements and second half elements of an array` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to find the sum of the first half` `// elements and second half elements of an array` `void` `sum_of_elements(` `int` `arr[], ` `int` `n)` `{` ` ` `int` `sumfirst = 0, sumsecond = 0;` ` ` `for` `(` `int` `i = 0; i < n; i++) {` ` ` `// Add elements in first half sum` ` ` `if` `(i < n / 2)` ` ` `sumfirst += arr[i];` ` ` `// Add elements in the second half sum` ` ` `else` ` ` `sumsecond += arr[i];` ` ` `}` ` ` `cout << ` `"Sum of first half elements is "` `<< ` ` ` `sumfirst << endl;` ` ` `cout << ` `"Sum of second half elements is "` `<< ` ` ` `sumsecond << endl;` `}` `// Driver Code` `int` `main()` `{` ` ` `int` `arr[] = { 20, 30, 60, 10, 25, 15, 40 };` ` ` `int` `n = ` `sizeof` `(arr) / ` `sizeof` `(arr[0]);` ` ` `// Function call` ` ` `sum_of_elements(arr, n);` ` ` `return` `0;` `}` |

*chevron_right*

*filter_none*

## Java

`// Java program to count pairs ` `// whose sum divisible by 'K' ` `import` `java.util.*;` `class` `GFG ` `{` `public` `static` `void` `sum_of_elements(` `int` `[]arr, ` ` ` `int` `n)` `{ ` ` ` `int` `sumfirst = ` `0` `, sumsecond = ` `0` `;` ` ` ` ` `for` `(` `int` `i = ` `0` `; i < n; i++)` ` ` `{` ` ` ` ` `// Add elements in first half sum` ` ` `if` `(i < n / ` `2` `)` ` ` `{` ` ` `sumfirst += arr[i];` ` ` `}` ` ` ` ` `// Add elements in the second half sum` ` ` `else` ` ` `{` ` ` `sumsecond += arr[i];` ` ` `}` ` ` `}` ` ` ` ` `System.out.println(` `"Sum of first half elements is "` `+ ` ` ` `sumfirst);` ` ` ` ` `System.out.println(` `"Sum of second half elements is "` `+` ` ` `sumsecond);` `}` `// Driver code ` `public` `static` `void` `main(String[] args) ` `{` ` ` `int` `[]arr = { ` `20` `, ` `30` `, ` `60` `, ` `10` `, ` `25` `, ` `15` `, ` `40` `};` ` ` `int` `n = arr.length;` ` ` ` ` `// Function call` ` ` `sum_of_elements(arr, n); ` `}` `}` `// This code is contributed by Princi Singh` |

*chevron_right*

*filter_none*

## Python3

`# Python3 program to find the sum of ` `# the first half elements and ` `# second half elements of an array` `# Function to find the sum of ` `# the first half elements and ` `# second half elements of an array` `def` `sum_of_elements(arr, n):` ` ` `sumfirst ` `=` `0` `;` ` ` `sumsecond ` `=` `0` `;` ` ` `for` `i ` `in` `range` `(n):` ` ` ` ` `# Add elements in first half sum` ` ` `if` `(i < n ` `/` `/` `2` `):` ` ` `sumfirst ` `+` `=` `arr[i];` ` ` `# Add elements in the second half sum` ` ` `else` `:` ` ` `sumsecond ` `+` `=` `arr[i];` ` ` ` ` `print` `(` `"Sum of first half elements is"` `, ` ` ` `sumfirst, end ` `=` `"\n"` `);` ` ` `print` `(` `"Sum of second half elements is"` `, ` ` ` `sumsecond, end ` `=` `"\n"` `);` `# Driver Code` `arr ` `=` `[` `20` `, ` `30` `, ` `60` `, ` `10` `, ` `25` `, ` `15` `, ` `40` `];` `n ` `=` `len` `(arr);` `# Function call` `sum_of_elements(arr, n);` `# This code is contributed` `# by Akanksha Rai` |

*chevron_right*

*filter_none*

## C#

`// C# program to count pairs ` `// whose sum divisible by 'K' ` `using` `System; ` `class` `GFG` `{ ` ` ` `public` `static` `void` `sum_of_elements(` `int` `[]arr, ` ` ` `int` `n)` ` ` `{ ` ` ` ` ` `int` `sumfirst = 0, sumsecond = 0;` ` ` `for` `(` `int` `i = 0; i < n; i++)` ` ` `{` ` ` ` ` `// Add elements in first half sum` ` ` `if` `(i < n / 2)` ` ` `{` ` ` `sumfirst += arr[i];` ` ` `}` ` ` ` ` `// Add elements in the second half sum` ` ` `else` ` ` `{` ` ` `sumsecond += arr[i];` ` ` `}` ` ` `}` ` ` `Console.WriteLine(` `"Sum of first half elements is "` `+ ` ` ` `sumfirst);` ` ` ` ` `Console.WriteLine(` `"Sum of second half elements is "` `+` ` ` `sumsecond);` `}` `// Driver code ` `static` `public` `void` `Main () ` `{ ` ` ` `int` `[]arr = { 20, 30, 60, 10, 25, 15, 40 };` ` ` `int` `n = arr.Length;` ` ` ` ` `// Function call` ` ` `sum_of_elements(arr, n); ` `} ` `} ` `// This code is contributed by nidhiva` |

*chevron_right*

*filter_none*

**Output:**

Sum of first half elements is 110 Sum of second half elements is 90

**Time complexity:** O(N)**Auxiliary Space:** O(1)

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.