fork download
  1. #include <iostream>
  2. #include<vector>
  3. #include<unordered_map>
  4. using namespace std;
  5.  
  6. int main() {
  7. vector<int>arr={2,5,2,5,2,5,1,1};
  8. int d=5,m=2,n=arr.size(),currentPrefix=0;
  9. unordered_map<int,int>freqMap;
  10. freqMap[0]=1;
  11. int count=0;
  12. for(int i=0;i<n;i++){
  13. if(arr[i]==d){
  14. currentPrefix++;
  15. }
  16. if(freqMap.find(currentPrefix-m)!=freqMap.end()){
  17. count+=freqMap[currentPrefix-m];
  18. }
  19. freqMap[currentPrefix]++;
  20. }
  21. cout<<count;
  22. return 0;
  23. }
Success #stdin #stdout 0s 5292KB
stdin
Standard input is empty
stdout
10