#include<bits/stdc++.h>
using namespace std;
int cs(vector<int>&arr,int k){
unordered_map<int,int>f;
int cnt=0,sum=0;
f[0]=1;
for(int i=0;i<arr.size();i++){
sum+=arr[i];
if(f.find(sum-k)!=f.end()) cnt+=f[sum-k];
f[sum]++;
}
return cnt;
}
int main(){
vector<int>arr={1,2,3,3,2};
cout<<cs(arr,5);
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IGNzKHZlY3RvcjxpbnQ+JmFycixpbnQgayl7CiAgICB1bm9yZGVyZWRfbWFwPGludCxpbnQ+ZjsKICAgIGludCBjbnQ9MCxzdW09MDsKICAgIGZbMF09MTsKICAgIGZvcihpbnQgaT0wO2k8YXJyLnNpemUoKTtpKyspewogICAgICAgIHN1bSs9YXJyW2ldOwogICAgICAgIGlmKGYuZmluZChzdW0taykhPWYuZW5kKCkpIGNudCs9ZltzdW0ta107CiAgICAgICAgZltzdW1dKys7CiAgICB9CiAgICByZXR1cm4gY250Owp9CmludCBtYWluKCl7CiAgICB2ZWN0b3I8aW50PmFycj17MSwyLDMsMywyfTsKICAgIGNvdXQ8PGNzKGFyciw1KTsKICAgIHJldHVybiAwOwp9Cg==