fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int arr[]= {10,5,2,7,1,9};
  6. int n=sizeof(arr)/sizeof(arr[0]);
  7. int k=15;
  8. int currSum=0;
  9. int minLength=INT_MAX;
  10. map<int, int> pSum;
  11. pSum[0] = -1;
  12. for(int j=0;j<n;j++){
  13. currSum+=arr[j];
  14. int toFind=currSum-k;
  15. if(pSum.find(toFind)!=pSum.end()){
  16. int index=pSum[toFind];
  17. minLength=min(j-index, minLength);
  18. }
  19. pSum[currSum]=j;
  20. }
  21. cout<<minLength;
  22. return 0;
  23. }
  24.  
Success #stdin #stdout 0s 5324KB
stdin
Standard input is empty
stdout
2