Pagini recente »
2014-12-02-clasa-8-tema-11
|
Istoria paginii runda/probleme.tari
|
Monitorul de evaluare
|
Monitorul de evaluare
|
Cod sursă (job #470176)
Cod sursă (job
#470176)
#include <stdio.h>
#include <fstream>
#include <bits/stdc++.h>
using namespace std;
ifstream fin("prob.in");
ofstream fout("prob.out");
int c,t,m,x, k,d=0,s=0,minn,val,p;
int divv(int a, int b){
int s;
s=a/b;
if(b*s<a) s++;
return s;
}
int main (){
fin>>c>>t>>m>>x;
minn=divv(x,m);
val=minn; d=divv(c,m); s=m*d;
k=1;
while(s<=x && s-c+k*m*t<=x && val<=minn){
minn=val; s-=c;
d+=t; s+=k*m*t;
k++;
val=d+divv(x-s,k*m);
if(s<c){ p=divv(c-s,k*m);
s+=k*m*p;
d+=p;
}
}
minn=min(minn, val);
fout<<minn;
return 0;
}