Pagini recente »
Borderou de evaluare (job #520098)
|
Istoria paginii runda/simion_vs_ioan_bafta_simion
|
Istoria paginii runda/pregatire-omi
|
hardcore_mode_activated
|
Cod sursă (job #108352)
Cod sursă (job
#108352)
#include <cstdio>
using namespace std;
int main()
{
FILE *in,*out;
in=fopen("scv.in","r");
out=fopen("scv.out","w");
int nscv=1,v,m,x,n,i,t,min=0,time=0,var,c,val1,val2;
fscanf(in,"%d%d%d%d",&c,&t,&m,&x);
while(min<x)
{
if(min>=c)
{
val1=(x-min)/(nscv*m);
if((x-min)%(nscv*m)!=0)
val1++;
if(x-min+c-t*(nscv*m)>0)
{
val2=t+(x-min+c-t*(nscv*m))/((nscv+1)*m);
if(val1>val2)
{
nscv++;
min=min-c+(nscv-1)*t*m;
time=time+t;
}
else
{
time=time+(x-min)/(nscv*m);
if((x-min)%nscv!=0)
time++;
min=x;
}
}
else
{
time=time+val1;
min=x;
}
}
else
{
if(c<x)
{
var=time;
time=time+(c-min)/(nscv*m);
if((c-min)%(nscv*m)!=0)
time++;
min=min+nscv*(time-var)*m;
}
else
{
time=time+(x-min)/(nscv*m);
if((x-min)%(nscv*m)!=0)
time++;
min=x;
}
}
}
fprintf(out,"%d",time);
return 0;
}