/* 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 ={1,2,1,1,2,1,3};
int k= 2;
System.
out.
println(countAllSubArrays
(arr,k
)); }
static int countAllSubArrays(int [] arr,int k){
int[]preSum = new int[arr.length];
preSum[0] = arr[0];
for(int i=1;i<arr.length;i++){
preSum[i] = preSum[i-1]+arr[i];
}
int cnt = 0;
HashMap
<Integer,Integer
>map
= new HashMap
<>(); for(int i=0;i<arr.length;i++){
if(map.containsKey(preSum[i]-k)){
cnt+=map.get(preSum[i]-k);
}
map.put(preSum[i],map.getOrDefault(preSum[i],0)+1);
}
return cnt;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCQlpbnRbXWFyciA9ezEsMiwxLDEsMiwxLDN9OwoJCWludCBrPSAyOwoJCVN5c3RlbS5vdXQucHJpbnRsbihjb3VudEFsbFN1YkFycmF5cyhhcnIsaykpOwoJfQoJc3RhdGljIGludCBjb3VudEFsbFN1YkFycmF5cyhpbnQgW10gYXJyLGludCBrKXsKCQlpbnRbXXByZVN1bSA9IG5ldyBpbnRbYXJyLmxlbmd0aF07CgkJcHJlU3VtWzBdID0gYXJyWzBdOwoJCWZvcihpbnQgaT0xO2k8YXJyLmxlbmd0aDtpKyspewoJCQlwcmVTdW1baV0gPSBwcmVTdW1baS0xXSthcnJbaV07CgkJfQoJCWludCBjbnQgPSAwOwoJCUhhc2hNYXA8SW50ZWdlcixJbnRlZ2VyPm1hcCA9IG5ldyBIYXNoTWFwPD4oKTsKCQlmb3IoaW50IGk9MDtpPGFyci5sZW5ndGg7aSsrKXsKCQkJaWYobWFwLmNvbnRhaW5zS2V5KHByZVN1bVtpXS1rKSl7CgkJCQljbnQrPW1hcC5nZXQocHJlU3VtW2ldLWspOwoJCQl9CgkJCW1hcC5wdXQocHJlU3VtW2ldLG1hcC5nZXRPckRlZmF1bHQocHJlU3VtW2ldLDApKzEpOwoJCX0KCQlyZXR1cm4gY250OwoJfQp9