fork download
  1. #include <iostream>
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4.  
  5. int main() {
  6. // your code goes here
  7. int n ; cin>>n;
  8. vector<int>arr(n);
  9. for(int i = 0 ; i<n;i++){
  10. cin>>arr[i];
  11. }
  12. unordered_map<int,int>hash;
  13.  
  14. int max_sum = INT_MIN;
  15. int prefix_sum=0;
  16. for(int i = 1 ; i<n;i++){
  17. prefix_sum+=arr[i-1];
  18. if(hash.find(arr[i])==hash.end()){
  19. max_sum=max(max_sum,arr[i]);
  20. hash[arr[i]]=prefix_sum;
  21. }
  22. else{
  23. int sum = prefix_sum+arr[i]-hash[arr[i]];
  24. max_sum = max(sum,max_sum);
  25. if(prefix_sum<hash[arr[i]]) hash[arr[i]]=prefix_sum;
  26. }
  27.  
  28. }
  29. cout<<max_sum;
  30. return 0;
  31.  
  32. }
Success #stdin #stdout 0.01s 5280KB
stdin
6
1 8 10 8 5 8 
stdout
39