Problem of the day
A subarray is a contiguous block of elements that can be formed by deleting some (possibly zero) elements from the beginning or the end of the original array.
If the given array is [1, 2, 3, 4, 5], then [2, 3, 4], [1, 2], [5] are some subarrays while [1, 3], [2, 3, 5] are not.
If there are multiple subarrays with minimum length, find one which appears earlier in the array (i.e. subarray that starts with lower index).
If there is no such subarray, print an empty line.
The first line of input contains two integers 'N' and 'X' separated by a single space. 'N' represents the size of the given array/list and 'X' represents the given integer.
The second line of input contains 'N' single space-separated integers representing the elements of the array/list.
The only line of output contains single space-separated elements of the minimum length subarray.
You do not need to print anything explicitly, it has already been taken care of.
1 <= N <= 5 * 10^5
1 <= X <= 10^9
1 <= ARR[i] <= 10^9
Time Limit: 1 sec
Try to solve in O(N) Time Complexity and O(1) Space Complexity.
4 13
13 7 6 12
13 7
Out of all the subarrays, we have [13, 7] and [6, 12] with minimum length of 2 and sum of their elements greater than X = 13. As the starting index of [13, 7] is lower, we print it as the output.
5 6
1 2 3 4 5
3 4