# Count of possible subarrays and subsequences using given length of Array

• Difficulty Level : Basic
• Last Updated : 18 Nov, 2021

Given an integer N which denotes the length of an array, the task is to count the number of subarray and subsequence possible with the given length of the array.
Examples:

Input: N = 5
Output:
Count of subarray = 15
Count of subsequence = 32
Input: N = 3
Output:
Count of subarray = 6
Count of subsequence = 8

Approach: The key observation fact for the count of the subarray is the number of ends position possible for each index elements of the array can be (N – i), Therefore the count of the subarray for an array of size N can be:

```Count of Sub-arrays = (N) * (N + 1)
---------------
2```

The key observation fact for the count of the subsequence possible is each element of the array can be included in a subsequence or not. Therefore, the choice for each element is 2.

`Count of subsequences = 2N`

Below is the implementation of the above approach:

## C++

 `// C++ implementation to count``// the subarray and subsequence of``// given length of the array``#include ``using` `namespace` `std;` `// Function to count the subarray``// for the given array``int` `countSubarray(``int` `n){``    ``return` `((n)*(n + 1))/2;``}` `// Function to count the subsequence``// for the given array length``int` `countSubsequence(``int` `n){``    ``return` `pow``(2, n);``}` `// Driver Code``int` `main()``{``    ``int` `n = 5;``    ``cout << (countSubarray(n)) << endl;``    ``cout << (countSubsequence(n)) << endl;``    ``return` `0;``}` `// This code is contributed by mohit kumar 29`

## Java

 `// Java implementation to count``// the subarray and subsequence of``// given length of the array``class` `GFG{`` ` `// Function to count the subarray``// for the given array``static` `int` `countSubarray(``int` `n){``    ``return` `((n)*(n + ``1``))/``2``;``}`` ` `// Function to count the subsequence``// for the given array length``static` `int` `countSubsequence(``int` `n){``    ``return` `(``int``) Math.pow(``2``, n);``}`` ` `// Driver Code``public` `static` `void` `main(String[] args)``{``    ``int` `n = ``5``;``    ``System.out.print((countSubarray(n)) +``"\n"``);``    ``System.out.print((countSubsequence(n)) +``"\n"``);``}``}`` ` `// This code is contributed by Princi Singh`

## Python

 `# Python implementation to count``# the subarray and subsequence of``# given length of the array` `# Function to count the subarray``# for the given array``def` `countSubarray(n):``    ``return` `((n)``*``(n ``+` `1``))``/``/``2``    ` `# Function to count the subsequence``# for the given array length``def` `countSubsequence(n):``    ``return` `(``2``*``*``n)` `# Driver Code   ``if` `__name__ ``=``=` `"__main__"``:``    ``n ``=` `5``    ``print``(countSubarray(n))``    ``print``(countSubsequence(n))`

## C#

 `// C# implementation to count``// the subarray and subsequence of``// given length of the array``using` `System;` `class` `GFG{``  ` `// Function to count the subarray``// for the given array``static` `int` `countSubarray(``int` `n){``    ``return` `((n)*(n + 1))/2;``}``  ` `// Function to count the subsequence``// for the given array length``static` `int` `countSubsequence(``int` `n){``    ``return` `(``int``) Math.Pow(2, n);``}``  ` `// Driver Code``public` `static` `void` `Main(String[] args)``{``    ``int` `n = 5;``    ``Console.Write((countSubarray(n)) +``"\n"``);``    ``Console.Write((countSubsequence(n)) +``"\n"``);``}``}` `// This code is contributed by Rajput-Ji`

## Javascript

 ``

Output:

```15
32```

Time Complexity: O(log n)

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up