# 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.

## Leave a Reply