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