#include <bits/stdc++.h>
using namespace std;
int main() {
int arr[]= {1,0,1,2,10,5};
int n=sizeof(arr)/sizeof(arr[0]);
int sum=3;
int count=0;
int currSum=0;
unordered_map<int, int> mp;
//for such subarray questions always insert mp[0]=1 first
mp[0]=1;
for(int j=0;j<n;j++){
currSum+=arr[j];
if(mp.find(currSum-sum)!=mp.end())
count=count+mp[currSum-sum];
mp[currSum]++;
}
cout<<count;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWludCBhcnJbXT0gezEsMCwxLDIsMTAsNX07CglpbnQgbj1zaXplb2YoYXJyKS9zaXplb2YoYXJyWzBdKTsKCWludCBzdW09MzsKCWludCBjb3VudD0wOwoJaW50IGN1cnJTdW09MDsKCXVub3JkZXJlZF9tYXA8aW50LCBpbnQ+IG1wOwoJLy9mb3Igc3VjaCBzdWJhcnJheSBxdWVzdGlvbnMgYWx3YXlzIGluc2VydCBtcFswXT0xIGZpcnN0Cm1wWzBdPTE7Cglmb3IoaW50IGo9MDtqPG47aisrKXsKCQljdXJyU3VtKz1hcnJbal07CgkJaWYobXAuZmluZChjdXJyU3VtLXN1bSkhPW1wLmVuZCgpKQoJCQljb3VudD1jb3VudCttcFtjdXJyU3VtLXN1bV07CgkJbXBbY3VyclN1bV0rKzsKCX0KCWNvdXQ8PGNvdW50OwoJcmV0dXJuIDA7Cn0K