fork download
  1. #include <unordered_map>
  2. using namespace std;
  3.  
  4. int main() {
  5. // your code goes here
  6. int arr[]={1, 2, 3, 4, 5, -1, 6};
  7. int k=9;
  8. int n=sizeof(arr)/sizeof(arr[0]);
  9. int sum=0;
  10. int maxi=0;
  11.  
  12. unordered_map<int,int>m;
  13. m[0]=0;
  14. for(int i=0;i<n;i++){
  15. sum+=arr[i];
  16. int un=sum-k;
  17. if(m.find(un)!=m.end()){
  18. int dist=i-m[un]+1;
  19. if(dist>maxi){
  20. maxi=dist;
  21. }
  22.  
  23. }
  24. if(m.find(sum)==m.end()){
  25. m[sum]=i;
  26. }
  27. }
  28. return 0;
  29. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
Standard output is empty