# Sum of elements till the smallest index such that there are no even numbers to its right

Given an array **arr[]** of **N** integers. The task is to find the sum of elements to the smallest index such that there are no even elements to the right of the index. **Note** that the array will have at least one even element.**Examples:**

Input:arr[] = {2, 3, 5, 6, 3, 3}Output:16

2 + 3 + 5 + 6 = 16Input:arr[] = {3, 4}Output:7

3 + 4 = 7

**Approach:** Find the index of the rightmost even element from the array and return the sum of all the elements starting from index 0 to the found index.

Below is the implementation of the above approach:

## C++

`// C++ implementation of the approach` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to return the required sum` `int` `smallestIndexsum(` `int` `arr[], ` `int` `n)` `{` ` ` `// Starting from the last index` ` ` `int` `i = n - 1;` ` ` `// Skip all odd elements and find the` ` ` `// index of the rightmost even element` ` ` `while` `(i >= 0 && arr[i] % 2 == 1)` ` ` `i--;` ` ` `// To store the required sum` ` ` `int` `sum = 0;` ` ` `for` `(` `int` `j = 0; j <= i; j++)` ` ` `sum += arr[j];` ` ` `return` `sum;` `}` `// Driver code` `int` `main()` `{` ` ` `int` `arr[] = { 2, 3, 5, 6, 3, 3 };` ` ` `int` `n = ` `sizeof` `(arr) / ` `sizeof` `(arr[0]);` ` ` `cout << smallestIndexsum(arr, n);` ` ` `return` `0;` `}` |

## Java

`// Java implementation of the approach` `class` `GFG` `{` `// Function to return the required sum` `static` `int` `smallestIndexsum(` `int` `arr[], ` `int` `n)` `{` ` ` `// Starting from the last index` ` ` `int` `i = n - ` `1` `;` ` ` `// Skip all odd elements and find the` ` ` `// index of the rightmost even element` ` ` `while` `(i >= ` `0` `&& arr[i] % ` `2` `== ` `1` `)` ` ` `i--;` ` ` `// To store the required sum` ` ` `int` `sum = ` `0` `;` ` ` `for` `(` `int` `j = ` `0` `; j <= i; j++)` ` ` `sum += arr[j];` ` ` `return` `sum;` `}` `// Driver code` `public` `static` `void` `main(String[] args)` `{` ` ` `int` `arr[] = { ` `2` `, ` `3` `, ` `5` `, ` `6` `, ` `3` `, ` `3` `};` ` ` `int` `n = arr.length;` ` ` `System.out.println(smallestIndexsum(arr, n));` `}` `}` `// This code is contributed by 29AjayKumar` |

## Python3

`# Python3 implementation of the approach` `# Function to return the required sum` `def` `smallestIndexsum(arr, n):` ` ` `# Starting from the last index` ` ` `i ` `=` `n ` `-` `1` `;` ` ` `# Skip all odd elements and find the` ` ` `# index of the rightmost even element` ` ` `while` `(i >` `=` `0` `and` `arr[i] ` `%` `2` `=` `=` `1` `):` ` ` `i ` `-` `=` `1` `;` ` ` `# To store the required sum` ` ` `sum` `=` `0` `;` ` ` `for` `j ` `in` `range` `(` `0` `, i ` `+` `1` `):` ` ` `sum` `+` `=` `arr[j];` ` ` `return` `sum` `;` `# Driver code` `if` `__name__ ` `=` `=` `'__main__'` `:` ` ` `arr ` `=` `[ ` `2` `, ` `3` `, ` `5` `, ` `6` `, ` `3` `, ` `3` `];` ` ` `n ` `=` `len` `(arr);` ` ` `print` `(smallestIndexsum(arr, n));` `# This code is contributed by PrinciRaj1992` |

## C#

`// C# implementation of the approach` `using` `System;` `class` `GFG` `{` ` ` `// Function to return the required sum` `static` `int` `smallestIndexsum(` `int` `[]arr, ` `int` `n)` `{` ` ` `// Starting from the last index` ` ` `int` `i = n - 1;` ` ` `// Skip all odd elements and find the` ` ` `// index of the rightmost even element` ` ` `while` `(i >= 0 && arr[i] % 2 == 1)` ` ` `i--;` ` ` `// To store the required sum` ` ` `int` `sum = 0;` ` ` `for` `(` `int` `j = 0; j <= i; j++)` ` ` `sum += arr[j];` ` ` `return` `sum;` `}` `// Driver code` `static` `public` `void` `Main ()` `{` ` ` `int` `[]arr = { 2, 3, 5, 6, 3, 3 };` ` ` `int` `n = arr.Length;` ` ` ` ` `Console.Write(smallestIndexsum(arr, n));` `}` `}` `// This code is contributed by ajit.` |

## Javascript

`<script>` ` ` `// Javascript implementation of the approach` ` ` ` ` `// Function to return the required sum` ` ` `function` `smallestIndexsum(arr, n)` ` ` `{` ` ` `// Starting from the last index` ` ` `let i = n - 1;` ` ` `// Skip all odd elements and find the` ` ` `// index of the rightmost even element` ` ` `while` `(i >= 0 && arr[i] % 2 == 1)` ` ` `i--;` ` ` `// To store the required sum` ` ` `let sum = 0;` ` ` `for` `(let j = 0; j <= i; j++)` ` ` `sum += arr[j];` ` ` `return` `sum;` ` ` `}` ` ` ` ` `let arr = [ 2, 3, 5, 6, 3, 3 ];` ` ` `let n = arr.length;` ` ` ` ` `document.write(smallestIndexsum(arr, n));` `</script>` |

**Output:**

16

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. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**

In case you wish to attend **live classes **with experts, please refer **DSA Live Classes for Working Professionals **and **Competitive Programming Live for Students**.