fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef long long int ll ;
  4.  
  5. int findDigitSum(int n){
  6. int sum = 0;
  7. int rem = 0;
  8. while(n>0){
  9. rem = n % 10;
  10. n = n / 10;
  11. sum += rem;
  12. }
  13. return sum;
  14. }
  15.  
  16.  
  17.  
  18. int main() {
  19.  
  20. // Taking input
  21. int n ;
  22. cin >> n ;
  23. ll arr[n] = {0};
  24. ll i = 0 ;
  25. while(i<=n){
  26. cin >> arr[i]; i++;
  27. }
  28.  
  29. // Solution
  30. unordered_map<int,int> mpp;
  31. int maxi = -1;
  32.  
  33. for(int n: arr){
  34. int curDigitSum = findDigitSum(n);
  35. if(mpp.find(curDigitSum) != mpp.end()){
  36. int sum = n + mpp[curDigitSum];
  37. maxi = max(maxi, sum);
  38. }
  39.  
  40. mpp[curDigitSum] = max(n, mpp[curDigitSum]);
  41. }
  42. cout << maxi;
  43.  
  44.  
  45. return 0;
  46. }
Success #stdin #stdout 0.01s 5296KB
stdin
3
51 32 43
stdout
-1