Update appNew update is available. Click here to update.

Even Odd Pulse

Contributed by
Sachin_f78a
Last Updated: 23 Feb, 2023
Medium
yellow-spark
0/80
Avg time to solve 15 mins
Success Rate 80 %
Share
0 upvotes

Problem Statement

You are given an array 'A' of size 'N' and an integer 'K'.

The 'Pulse' of a subarray of 'A' is defined as the product of the number of even elements and the number of odd elements in that subarray.

Return the minimum possible length of a subarray having 'Pulse' greater than or equal to 'K'. If there does not exist any subarray having 'Pulse' greater than or equal to 'K', then return -1.

Note : Assume 0-based indexing.

A subarray is any contiguous part of an array.

For example:
Let 'N' = 5, 'K' = 4, 'A' = [2, 2, 2, 1, 1].
There exist only two subarrays, 'A[0…4]' and 'A[1…4]' having 'Pulse' greater than or equal to 'K'. 
'Pulse' of 'A[0…4]' is 6 and the length is 5.
'Pulse' of 'A[1…4]' is 4 and the length is 4.
 Since we have to minimize the length, therefore 4 will be our answer.
Detailed explanation ( Input/output format, Notes, Images )
Constraints:-
1 <= 'T' <= 10
0 <= 'N' <= 10^5
0 <= 'K' <= 10^9
1 <= 'A[i]' <= 10^5

The sum of 'N' over all test cases does not exceed 10^5.    

Time Limit: 1 sec
Sample Input 1:-
2
6 6
2 1 2 3 4 3
1 2
1
Sample Output 1:-
5
-1
Explanation of sample input 1:-
First test case:-
There exist only three subarrays, 'A[0…4]',  'A[1…5]' and 'A[ 0…5]' having 'Pulse' greater than or equal to 'K'. 
'Pulse' of 'A[0…4]' is 6 and the length is 5.
'Pulse' of 'A[1…5]' is 6 and the length is 5.
'Pulse' of 'A[0…5]' is 9 and the length is 6.
Since we have to minimize the length, therefore 5 will be our answer.


Second test case:-
There does not exist any subarray having 'Pulse' greater than or equal to 'K'.
Sample Input 2:-
2
2 1
1 2
4 2
1 1 2 1
Sample Output 2:-
2
3
Reset Code
Full screen
Auto
copy-code
Console