import java.util.*;
import java.lang.*;
import java.io.*;
class Ideone
{
{
int[] arr = new int[]{1,4,5,0,1,9};
int target = 6;
ArrayList<Integer> result = subarraySum(arr, target);
}
public static ArrayList<Integer> subarraySum(int[] arr, int target) {
Map
<Integer,Integer
> map
= new HashMap
<>(); map.put(0,0);
ArrayList<Integer> list = new ArrayList<>();
int currentSum = 0;
for(int i=0;i<arr.length;i++){
currentSum += arr[i];
if(map.containsKey(currentSum - target)){
list.add(map.get(currentSum-target)+1);
list.add(i+1);
return list;
}
map.putIfAbsent(currentSum,i+1);
}
list.add(-1);
return list;
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJaW50W10gYXJyID0gbmV3IGludFtdezEsNCw1LDAsMSw5fTsKCQlpbnQgdGFyZ2V0ID0gNjsKCQlBcnJheUxpc3Q8SW50ZWdlcj4gcmVzdWx0ID0gc3ViYXJyYXlTdW0oYXJyLCB0YXJnZXQpOwoJCVN5c3RlbS5vdXQucHJpbnRsbihyZXN1bHQpOwoJfQoJCglwdWJsaWMgc3RhdGljIEFycmF5TGlzdDxJbnRlZ2VyPiBzdWJhcnJheVN1bShpbnRbXSBhcnIsIGludCB0YXJnZXQpIHsKICAgICAgICBNYXA8SW50ZWdlcixJbnRlZ2VyPiBtYXAgPSBuZXcgSGFzaE1hcDw+KCk7CiAgICAgICAgbWFwLnB1dCgwLDApOwogICAgICAgIAogICAgICAgIEFycmF5TGlzdDxJbnRlZ2VyPiBsaXN0ID0gbmV3IEFycmF5TGlzdDw+KCk7CiAgICAgICAgaW50IGN1cnJlbnRTdW0gPSAwOyAKICAgICAgICBmb3IoaW50IGk9MDtpPGFyci5sZW5ndGg7aSsrKXsKICAgICAgICAgICAgY3VycmVudFN1bSArPSBhcnJbaV07CiAgICAgICAgICAgIGlmKG1hcC5jb250YWluc0tleShjdXJyZW50U3VtIC0gdGFyZ2V0KSl7CiAgICAgICAgICAgICAgICBsaXN0LmFkZChtYXAuZ2V0KGN1cnJlbnRTdW0tdGFyZ2V0KSsxKTsKICAgICAgICAgICAgICAgIGxpc3QuYWRkKGkrMSk7CiAgICAgICAgICAgICAgICByZXR1cm4gbGlzdDsKICAgICAgICAgICAgfQogICAgICAgICAgICBtYXAucHV0SWZBYnNlbnQoY3VycmVudFN1bSxpKzEpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBsaXN0LmFkZCgtMSk7CiAgICAgICAgcmV0dXJuIGxpc3Q7CiAgICB9Cn0K