fork(4) download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. #define MAX 20000000
  5.  
  6. long int dp[MAX+1];
  7.  
  8. int main() {
  9. // your code goes here
  10. int n;
  11. cin>>n;
  12. dp[0]=0;
  13. dp[1]=0;
  14. dp[2]=1;
  15. dp[3]=1;
  16.  
  17. for(int i=4;i<=MAX;i++){
  18. dp[i]= 1+ dp[i-1];
  19. if(i%2==0)
  20. dp[i]= min(dp[i],1+dp[i/2]);
  21.  
  22. if(i%3==0)
  23. dp[i]= min(dp[i],1+dp[i/3]);
  24. }
  25.  
  26. for(int i=1;i<=n;i++){
  27. long long int a;
  28. cin>>a;
  29. cout<<"Case "<<i<<": "<<dp[a]<<endl;
  30. }
  31. return 0;
  32. }
Success #stdin #stdout 0.16s 81216KB
stdin
3
6
10000000
20000000
stdout
Case 1: 2
Case 2: 22
Case 3: 23