fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4. int main()
  5. {
  6. ll ans=0;
  7. ll n,k,A,B;
  8. cin>>n>>k>>A>>B;
  9. if(k==1)
  10. {
  11. cout<<(n-1)*A;
  12. return 0;
  13. }
  14. while(n>1)
  15. {
  16. if(n%k==0)
  17. {
  18. ans+=min(B,(n-n/k)*A);
  19. n/=k;
  20. }
  21. else
  22. {
  23. ll tp=min(n%k,n-1);
  24. n-=tp;
  25. ans+=A*tp;
  26. }
  27. }
  28. cout<<ans;
  29. return 0;
  30. }
Success #stdin #stdout 0s 4528KB
stdin
5
5
2
20
stdout
8