Pagini recente »
Monitorul de evaluare
|
Monitorul de evaluare
|
Monitorul de evaluare
|
Monitorul de evaluare
|
Cod sursă (job #105655)
Cod sursă (job
#105655)
#include<cstdio>
using namespace std;
int main(){
freopen ("scv.in","r",stdin);
freopen ("scv.out","w",stdout);
long long x,c,m,t;
int i;
long long min,z;
long long rob,zi,bani;
scanf ("%lld%lld%lld%lld",&c,&t,&m,&x);
rob=x/c+1;
zi=1;
min=(x-1)/m+1;
bani=m;
for(i=1;i<=rob;i++){
if (bani>=c){
zi+=t;
bani=bani+m*i*t-c;
}
else {
zi=zi+(c-bani-1)/(m*i)+1+t;
bani=bani+((c-bani-1)/(m*i)+1)*(m*i)-c+m*i*t;
}
if (bani>=x){
z=zi;
i=rob;
}
else z=zi+(x-bani-1)/(m*(i+1))+1;
if (z<min) min=z;
}
printf ("%lld",min);
return 0;
}