fork download
  1. #include <iostream>
  2. #include<vector>
  3. #include<map>
  4. using namespace std;
  5.  
  6. int main() {
  7. int n,k,count=0;
  8. cin>>n>>k;
  9. vector<int>arr(n+1);
  10. vector<int>prefix(n+1,0);
  11. map<int,int>m;
  12. for(int i=1;i<=n;i++){
  13. cin>>arr[i];
  14. prefix[i]=arr[i]+prefix[i-1];
  15. }
  16. m[0] = 1;
  17. for(int i=0;i<=n;i++){
  18. if(m.find(prefix[i]-k)!=m.end()){
  19. count+=m[prefix[i]-k];
  20. }
  21. m[prefix[i]]++;
  22.  
  23. }
  24.  
  25. cout<<count;
  26. return 0;
  27. }
Success #stdin #stdout 0s 5284KB
stdin
5 5
1 2 3 2 1
stdout
2