fork download
  1. #include <iostream>
  2. #include<vector>
  3. #include<unordered_map>
  4. using namespace std;
  5.  
  6. int main() {
  7. vector<int> arr={15,-2,2,-8,1,7,10};
  8.  
  9. unordered_map<int,int> m;
  10. int longest=0;
  11. int sum=0;
  12.  
  13. for(int i=0;i<arr.size();i++) {
  14. sum+=arr[i];
  15.  
  16. if(arr[i]==0) {
  17. longest=i+1;
  18. }
  19.  
  20. if(m.find(sum)!=m.end()) {
  21. longest=max(longest,i-m[sum]);
  22. }
  23. else {
  24. m[sum]=i;
  25. }
  26. }
  27. cout<<longest;
  28. return 0;
  29. }
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout
5