/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
// your code goes here
int[] arr = {10, 2, -2, -20, 10};
int k = -10;
System.
out.
println(cntSubarrays
(arr, k
)); }
static int cntSubarrays(int[] arr, int k){
HashMap
<Integer,Integer
> map
= new HashMap
<>();
int cnt =0;
int currSum = 0;
for(int i=0;i<arr.length;i++){
currSum+=arr[i];
if(currSum == k) cnt++;
if(map.containsKey(currSum-k)){
cnt+=map.get(currSum-k);
}
map.put(currSum,map.getOrDefault(currSum,0)+1);
}
return cnt;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCQlpbnRbXSBhcnIgPSB7MTAsIDIsIC0yLCAtMjAsIDEwfTsKICAgICAgICBpbnQgayA9IC0xMDsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oY250U3ViYXJyYXlzKGFyciwgaykpOwoJfQoJc3RhdGljIGludCBjbnRTdWJhcnJheXMoaW50W10gYXJyLCBpbnQgayl7CgkJSGFzaE1hcDxJbnRlZ2VyLEludGVnZXI+IG1hcCA9IG5ldyBIYXNoTWFwPD4oKTsKCQkKCQlpbnQgY250ID0wOwoJCQoJCWludCBjdXJyU3VtID0gMDsKCQlmb3IoaW50IGk9MDtpPGFyci5sZW5ndGg7aSsrKXsKCQkJY3VyclN1bSs9YXJyW2ldOwoJCQlpZihjdXJyU3VtID09IGspIGNudCsrOwoJCQkKCQkJaWYobWFwLmNvbnRhaW5zS2V5KGN1cnJTdW0taykpewoJCQkJY250Kz1tYXAuZ2V0KGN1cnJTdW0tayk7CgkJCX0KCQkJbWFwLnB1dChjdXJyU3VtLG1hcC5nZXRPckRlZmF1bHQoY3VyclN1bSwwKSsxKTsKCQl9CgkJcmV0dXJuIGNudDsKCX0KfQ==