Problem of the day
Ninja and his friend are playing a game of subarrays. They have an array ‘NUMS’ of length ‘N’. Ninja’s friend gives him an arbitrary integer ‘K’ and asks him to find the length of the longest subarray in which the sum of elements is equal to ‘K’.
Ninjas asks for your help to win this game. Find the length of the longest subarray in which the sum of elements is equal to ‘K’.
If there is no subarray whose sum is ‘K’ then you should return 0.
Example:Input: ‘N’ = 5, ‘K’ = 4, ‘NUMS’ = [ 1, 2, 1, 0, 1 ]
Output: 4
There are two subarrays with sum = 4, [1, 2, 1] and [2, 1, 0, 1]. Hence the length of the longest subarray with sum = 4 is 4.
The first line will contain the integer 'T', denoting the number of test cases.
The first line of each test case contains two integers ‘N’ and ‘K’ denoting the length of the array ‘NUMS’ and an arbitrary integer.
The second line of each test case contains ‘N’ space separated integers.
Output format :
For each test case, you don’t need to print anything just return the length of the longest subarray with the sum ‘K’.
Note :
You don't need to print anything. It has already been taken care of. Just implement the given function.
1 <= T <= 10
1 <= N <= 10^5
-10^6 <= NUMS[ i ] <= 10^6
-10^6 <= K <= 10^6
Sum of N Over all the Test cases <= 10^5
Time Limit: 1 sec
2
3 5
2 3 5
3 1
-1 1 1
2
3
For the first case:
There are two subarrays with sum = 5, [2, 3] and [5]. Hence the length of the longest subarray is 2.
For the second case:
Longest subarray with sum = 1 is [1, -1, 1].
2
3 4
1 1 1
3 2
-50 0 52
0
3