# Python Program to find number of sub arrays with negative product

This post deals with how to find the number of sub-arrays with negative products in Python. Here, I am going to provide you with a simple solution to this problem using prefix product array.

Example:

Input:

`arr[ ]={6, 7, -2}`

Output:

`3`

Explanation:

Following are the sub-arrays with the negative product: `{2}, {6,-2}, {7,-2}`

## Program

Now, we have a look at the implementation of the above algorithm.

```def negativeProduct(arr, size):
posCount = 1
negCount = 0
for x in range(size):
if (arr[x] > 0):
arr[x] = 1
else:
arr[x] = -1
if (x > 0):
arr[x] *= arr[x - 1]
#to count the number of postive and negative
#elements in Prefix product array
if (arr[x] == 1):
posCount += 1
else:
negCount += 1
return (posCount * negCount)
arr = list(map(int,input("Enter the elements: ").split()))
size = len(arr)
print("Number of sub-array with negative product:",negativeProduct(arr,size))
```

Sample output 1:

```Enter the elements: 6 7 -2
Number of sub-array with negative product: 3```

Sample output 2:

```Enter the elements: 6 2 8
Number of sub-array with negative product: 0```

I hope that you have learned something new and useful from this post.