传送门
题中有XA 和 X+B 两种增长方法
当XA < X+B 而且 XA < Y时,使用第一种方法
否则用第二种方法,第二种方法可以直接计算出答案,不用累加
#include<stdio.h>
#include<iostream>
#include<cstring>
#define ll long long
using namespace std;
int main()
{
ll x,y;
ll a,b;
cin>>x>>y>>a>>b;
ll ans = 0;
while(x<y/a && x<(x+b)/a){
ans++;
x = x*a;
}
ans = ans + (y-1-x)/b;
cout<<ans<<endl;
return 0;
}