fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int n1,k;
  6. cin>>n1>>k;
  7. int A[n1];
  8. for(int i = 0 ; i<n1 ; i++){
  9. cin>>A[i];
  10. }
  11. int presum[n1+1];
  12. for(int i = 0 ; i<n1+1 ; i++){
  13. presum[i] = 0;
  14. }
  15. for(int i = 1 ; i<=n1 ; i++){
  16. presum[i] = presum[i-1]+A[i-1];
  17. }
  18. map<int,int>map;
  19. int cnt = 0;
  20. for(int i = 1 ; i<=n1 ; i++){
  21. if(presum[i]==k){
  22. cnt++;
  23. }
  24. if(map.find(presum[i]-k)!=map.end()){
  25. cnt += map[presum[i]-k];
  26. }
  27. map[presum[i]]++;
  28. }
  29. cout<<cnt<<endl;
  30. return 0;
  31. }
Success #stdin #stdout 0.01s 5292KB
stdin
6 3
1 0 1 2 10 8
stdout
2