Pagini recente »
ucenic_runda1
|
Monitorul de evaluare
|
Borderou de evaluare (job #528033)
|
Clasament vaslui_cls78_15.12
|
Cod sursă (job #107289)
Cod sursă (job
#107289)
#include <stdio.h>
int main()
{
FILE *fin, *fout;
fin = fopen("scv.in", "r");
fout = fopen ("scv.out","w");
long long C, T, M, X;
fscanf(fin, "%lld%lld%lld%lld", &C, &T, &M, &X);
long long min = (X - 1) / M + 1, R = X / C + 1, day = 1, m = M;
int i;
for (i = 1; i <= R; i++) {
if (m >= C){
day += T;
m += M * i * T - C;
} else {
day += (C - m - 1) / (M * i) + T + 1;
m = m + ((C - m - 1) / (M * i) + 1) * (M * i) - C + M * i * T;
}
long long z;
if (m >= X){
z = day;
i = R;
} else {
z = day + (X - m - 1) / (M * (i + 1)) + 1;
}
if (z < min) {
min=z;
}
}
fprintf(fout, "%lld", min);
return 0;
}