fork download
  1. /*
  2. *************************************************************************
  3. * $ Author : honeyslawyer $
  4. * $ Name : shashank gupta $
  5. *************************************************************************
  6. *
  7. * Copyright 2013 @ honeyslawyer and shashank gupta
  8. *
  9. ************************************************************************/
  10. #include<cstdio>
  11. #include<iostream>
  12. #include<cmath>
  13. //#include<conio.h>
  14. #include<cstring>
  15. #include<ctype.h>
  16. #include<algorithm>
  17. #include<vector>
  18. #include<stdlib.h>
  19. #include<map>
  20. #include<queue>
  21. #include<stack>
  22. #include<set>
  23. #include<string>
  24. #include<climits>
  25.  
  26. #define mod 1000000007
  27. #define ll long long
  28.  
  29. using namespace std;
  30. ll gcd(ll a,ll b) {if(b==0) return a; return gcd(b,a%b);}
  31.  
  32. ll power(ll b,ll exp,ll m)
  33. {ll ans=1;
  34. b%=m;
  35. while(exp)
  36. {if(exp&1)
  37. ans=(ans*b)%m;
  38. exp>>=1;
  39. b=(b*b)%m;
  40. }
  41. return ans;
  42. }
  43. int arr[110],a[110];
  44. int main()
  45. {
  46. int n;
  47. scanf("%d",&n);
  48. for(int i=0;i<n;i++)
  49. {
  50. scanf("%d",&arr[i]);
  51. a[arr[i]]++;
  52. }
  53. int i=100,j;
  54. while(i>=0)
  55. {
  56. if(a[i]>0)
  57. {
  58. for(j=i-1;j>=0;j--)
  59. {
  60. if(a[j]>0)
  61. break;
  62. }
  63. if(j>=0)
  64. {
  65. a[i]--;
  66. //printf("%d %d\n",i,j);
  67. a[i-j]++;
  68. }
  69. else
  70. {
  71. i--;
  72. }
  73. }
  74. else
  75. {
  76. i--;
  77. }
  78. }
  79. int ans=0;
  80. for(int i=0;i<=100;i++)
  81. ans+=i*a[i];
  82.  
  83. printf("%d\n",ans);
  84. //getch();
  85. return 0;
  86. /*checklist
  87. 1)getch() and conio.h removed.*/
  88. }
Success #stdin #stdout 0s 3344KB
stdin
3
2 4 6
stdout
6