fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int dp[1001];
  5.  
  6. int f(int a){
  7. int temp = 0;
  8.  
  9. if (a <= 1){
  10. return a;
  11. }
  12.  
  13. if (dp[a] == -1) {
  14. temp = f(a / 2) + f(a / 3) + f(a / 4);
  15. dp[a] = max(a, temp);
  16. }
  17.  
  18.  
  19. return dp[a];
  20.  
  21. }
  22.  
  23. int main() {
  24. memset(dp, -1, sizeof dp);
  25. int x;
  26. cin >> x;
  27. int result;
  28. result = f(x);
  29. cout << result;
  30.  
  31. return 0;
  32. }
Success #stdin #stdout 1.34s 5304KB
stdin
100000000
stdout
364906343