Subarray with given sum

3

4 votes
Problem

Given an unsorted array A of size N of non-negative integers, find a continuous sub-array which adds to a given number S.


Input:
The first line of input contains an integer T denoting the number of test cases. Then T test cases follow. Each test case consists of two lines. The first line of each test case is N and S, where N is the size of array and S is the sum. The second line of each test case contains N space-separated integers denoting the array elements.


Output:
For each test case, in a new line, print the starting and ending positions(1 indexing) of first such occurring subarray from the left if sum equals to subarray, else print -1.


Constraints:

1<= T <=10

1<= N <= 10^6

1<= A[i] <= 10^6

1<= S <= 10^12

Sample Input
2
5 12
1 2 3 7 5
10 15
1 2 3 4 5 6 7 8 9 10
Sample Output
2 4
1 5
Time Limit: 1
Memory Limit: 256
Source Limit:
Explanation

Testcase1: Sum of elements from 2nd position to 4th position is 12
Testcase2: Sum of elements from 1st position to 5th position is 15

Editor Image

?