fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int getDigit(int num){
  4. int digitSum=0;
  5. while(num!=0){
  6. int r=num%10;
  7. digitSum=digitSum+r;
  8. num=num/10;
  9. }
  10. return digitSum;
  11.  
  12. }
  13.  
  14. int main() {
  15. // your code goes here
  16. int n;
  17. cin>>n;
  18. int a[n];
  19. unordered_map<int,int>v;
  20. for(int i=0;i<n;i++){
  21. cin>>a[i];
  22. }
  23. int ans=-1;
  24. int count=0;
  25. for(int i=0;i<n;i++){
  26. if(v.find(getDigit(a[i]))!=v.end()){
  27. int sum=a[i]+v[getDigit(a[i])];
  28. if(sum>ans){
  29. ans=sum;
  30. count=1;
  31. }
  32. else if(sum==ans){
  33. count++;
  34. }
  35. v[getDigit(a[i])]=max(v[getDigit(a[i])],a[i]);
  36.  
  37.  
  38. }
  39. else{
  40. v[getDigit(a[i])]=a[i];
  41. }
  42. }
  43. cout<<ans<<endl;
  44. cout<<count;
  45.  
  46. return 0;
  47. }
Success #stdin #stdout 0.01s 5292KB
stdin
5
12 33 6 85 42
stdout
75
1