Tutorials  Articles  Notifications  Login  Signup


Subarray with given sum

Problem statement
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 format
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 format
For each testcase, in a new line, print the starting and ending positions(1 indexing) of first such occuring subarray from the left if sum equals to subarray, else print -1.

Constraints
1 <= T <= 100 1 <= N <= 10^7 1 <= Ai <= 10^10

Sample Input 1
2
5 12
1 2 3 7 5
10 15
1 2 3 4 5 6 7 8 9 10


Sample output 1
2 4
1 5



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





// Write your code here in C++


Editiorial

N/A



go back Go back to Google



Author: Rajan Shah

Level: Medium

Uploaded on: Aug. 15, 2020

Lab: Google

Section: None


Found something wrong ? Inform us



Other problems from this lab

Small Factorials

ETF - Euler Totient Function

Maximum Index

Finding the numbers