# (solved)A self-indexed array of size n is an integer array of which each of its elements is an integer between 0 and n-1, inclusive. Here is an example:. . . . .

A self-indexed array of size n is an integer array of which each of its elements is an integer between 0 and n-1, inclusive. Here is an example: int arr = {5, 4, 7, 3, 1, 9, 0, 5, 1, 2}; We consider each value in a self-indexed array to specify the index of some element in the array. The successor of an element k in an array arr is the element at index arr[k]. The successor of element 0 in the example array above is 5, since arr is 5. Likewise, the successor of element 5 (the one at index 0) is 9. Suppose we want to check if a self-indexed array has a circuit based on a particular starting element. We define a circuit such that if we start at some element k, the path of successors eventually leads back to the element k. Example: If we start at element 2, the successor is 7, whose successor is 5, whose successor is 9, whose successor is 2, which is what we started at. In this case, we have a circuit. Another example: If we start at element 8, the successor is 1, whose successor is 4, whose successor is 1, and this pattern cycles between 1 and 4. Therefore, there is not a circuit. Write the C++ function hasCircuit, which takes a self-indexed array of integers, an integer n specifying the length of the array, and an integer start which is the starting element to check for a circuit with, and returns true or false for whether there is a circuit.bool hasCircuit(int a[], int n, int start){}  