# Find sum in range L to R in given sequence of integers

• Last Updated : 22 Nov, 2021

Given an array arr[] of integers and a sequence of the form:

[ 2, 3, 0, 1, 6, 7, 4, 5, … ]

Also given two integer L and R such that . The task is to find the sum of all numbers in given range from L to R.
Examples:

```Input : L = 0, R = 5
Output : 19
Explanation :
The arr[] is {2, 3, 0, 1, 6, 7}.
sum = arr + arr + arr + arr + arr + arr
sum = 2 + 3 + 0 + 1 + 6 + 7
Hence, the sum is 19.

Input : L = 2, R = 5
Output : 14
Explanation :
The arr[] is {0, 1, 6, 7}.
sum = arr + arr + arr + arr
sum = 0 + 1 + 6 + 7
Hence, the sum is 14.```

Approach:
To solve the question mentioned above we first have to observe the sequence of the array and understand how is it generated. The given array is generated from a sequence of whole numbers which is [ 0, 1, 2, 3, 4, 5, 6, … ]. Initially we add 2 to the first two integers, then we subtract 2 from the next two integers and this goes on. So our newly formed array looks like [ 0+2, 1+2, 2-2, 3-2, 4+2, 5+2, 6-2, 7-2, … ]. Hence we generate this new sequence of integers up to R and store it in array. Finally, calculate the sum from indices in range L to R and return it.
Below is the implementation of the above approach:

## C++

 `// C++ program to find the``// sum in given range L to R` `#include ``using` `namespace` `std;` `// Function to find the sum``// within the given range``int` `findSum(``int` `L, ``int` `R)``{``    ``vector<``int``> arr;` `    ``// generating array from given sequence``    ``int` `i = 0;``    ``int` `x = 2;``    ``while` `(i <= R) {``        ``arr.push_back(i + x);` `        ``if` `(i + 1 <= R)``            ``arr.push_back(i + 1 + x);` `        ``x *= -1;` `        ``i += 2;``    ``}` `    ``// calculate the desired sum``    ``int` `sum = 0;` `    ``for` `(``int` `i = L; i <= R; ++i)` `        ``sum += arr[i];` `    ``// return the sum``    ``return` `sum;``}` `// Driven code``int` `main()``{` `    ``// initialise the range``    ``int` `L = 0, R = 5;` `    ``cout << findSum(L, R);` `    ``return` `0;``}`

## Java

 `// Java program to find the``// sum in given range L to R``import` `java.util.*;` `class` `GFG{``    ` `// Function to find the sum``// within the given range``public` `static` `int` `findSum(``int` `L, ``int` `R)``{``    ``ArrayList arr = ``new` `ArrayList<>();` `    ``// Generating array from given sequence``    ``int` `i = ``0``;``    ``int` `x = ``2``;``    ``while` `(i <= R)``    ``{``        ``arr.add(i + x);` `        ``if` `(i + ``1` `<= R)``            ``arr.add(i + ``1` `+ x);` `        ``x *= -``1``;` `        ``i += ``2``;``    ``}` `    ``// Calculate the desired sum``    ``int` `sum = ``0``;` `    ``for``(i = L; i <= R; ++i)``       ``sum += arr.get(i);` `    ``// return the sum``    ``return` `sum;``}` `// Driver code``public` `static` `void` `main(String[] args)``{``    ` `    ``// Initialise the range``    ``int` `L = ``0``, R = ``5``;` `    ``System.out.println(findSum(L, R));``}``}` `// This code is contributed by jrishabh99`

## Python3

 `# Python3 program to find the``# sum in given range L to R` `# Function to find the sum``# within the given range``def` `findSum(L, R) :``    ``arr ``=` `[]` `    ``# generating array from given sequence``    ``i ``=` `0``    ``x ``=` `2``    ``k ``=` `0``    ``while` `(i <``=` `R) :``        ``arr.insert(k, i ``+` `x)``        ``k ``+``=` `1``        ``if` `(i ``+` `1` `<``=` `R) :``            ``arr.insert(k, i ``+` `1` `+` `x)``        ``k ``+``=` `1``        ``x ``*``=` `-``1``        ``i ``+``=` `2` `    ``# calculate the desired sum``    ``sum` `=` `0` `    ``for` `i ``in` `range``(L, R ``+` `1``) :``        ``sum` `+``=` `arr[i]` `    ``# return the sum``    ``return` `sum` `# Driver code` `# initialise the range``L ``=` `0``R ``=` `5``print``(findSum(L, R))` `# This code is contributed by Sanjit_Prasad`

## C#

 `// C# program to find the``// sum in given range L to R``using` `System;``using` `System.Collections;` `class` `GFG{``    ` `// Function to find the sum``// within the given range``public` `static` `int` `findSum(``int` `L, ``int` `R)``{``    ``ArrayList arr = ``new` `ArrayList();` `    ``// Generating array from given sequence``    ``int` `i = 0;``    ``int` `x = 2;``    ``while` `(i <= R)``    ``{``        ``arr.Add(i + x);` `        ``if` `(i + 1 <= R)``            ``arr.Add(i + 1 + x);` `        ``x *= -1;``        ``i += 2;``    ``}` `    ``// Calculate the desired sum``    ``int` `sum = 0;` `    ``for``(i = L; i <= R; ++i)``        ``sum += (``int``)arr[i];` `    ``// return the sum``    ``return` `sum;``}` `// Driver code``public` `static` `void` `Main(``string``[] args)``{``    ` `    ``// Initialise the range``    ``int` `L = 0, R = 5;` `    ``Console.Write(findSum(L, R));``}``}` `// This code is contributed by rutvik_56`

## Javascript

 ``

Output:

`19`

Time Complexity : O(N)

Auxiliary Space: O(N)

My Personal Notes arrow_drop_up