package contests.contest30;
import java.util.HashMap;
import java.util.Map;
/**
* Created by sherxon on 4/29/17.
*/
public class SubarraySumEqualsK {
public int subarraySum(int[] a, int k) {
if(a.length == 0)return 0;
for(int i=1; i<a.length; i++){
a[i]+=a[i-1];
}
Map<Integer, Integer> map= new HashMap<>();
int count=0;
for(int i=0; i<a.length; i++){
if(a[i]==k)count++;
Integer p=map.get(a[i]-k);
if(p!=null)count+=p;
if(!map.containsKey(a[i]))
map.put(a[i], 1);
else
map.put(a[i], map.get(a[i])+1);
}
return count;
}
}