fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int arr[]= {2,0,1,3,-1};
  6. int n=sizeof(arr)/sizeof(arr[0]);
  7. int count=0;
  8. int currentSum=0;
  9. unordered_map<int, int> mp;
  10. mp[0]=1;
  11. for(int j=0;j<n;j++){
  12. currentSum = currentSum + arr[j];
  13. int rhs = currentSum-(j+1);
  14. if(mp.find(rhs)!=mp.end()){
  15. count = count + mp[rhs];
  16. }
  17. mp[rhs]++;
  18. }
  19. cout<<count;
  20. return 0;
  21. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
6