Pagini recente »
Monitorul de evaluare
|
Monitorul de evaluare
|
concurs2-cls5-11-01-2020
|
Istoria paginii utilizator/mihnea2005
|
Cod sursă (job #108345)
Cod sursă (job
#108345)
#include <stdio.h>
using namespace std;
int parte (int a, int b)
{
int v=a/b;
if(b*v<a) v++;
return v;
}
int main ()
{
FILE *in = fopen ("scv.in", "r");
FILE *out = fopen ("scv.out", "w");
int c,t,m,x;
int nr=1,d=0,s=0,minim,v,p;
fscanf(in,"%d%d%d%d",&c,&t,&m,&x);
v=minim=parte(x,m);
d=parte(c,m);
s=m*d;
while(s<=x && s-c+nr*m*t<=x && v<=minim)
{
minim=v;
//construieste un scv
s-=c;
d+=t; s+=nr*m*t;
nr++;
v=d+parte(x-s,nr*m);
//actualizeaza la urmatoarea posibila constructie
if(s<c)
{
p=parte(c-s,nr*m);
s+=nr*m*p;
d+=p;
}
}
if(v<minim)
minim=v;
fprintf(out,"%d",minim);
return 0;
}