Cod sursă (job #402961)

Utilizator avatar alex2209alex Pavel Alexandru alex2209alex IP ascuns
Problemă SCV (clasele 9-10) Compilator cpp | 1,18 kb
Rundă Arhiva de probleme Status evaluat
Dată 17 nov. 2018 19:16:13 Scor 80
#include <fstream>

using namespace std;
ifstream f("scv.in");
ofstream g("scv.out");
long long c,t,m,x,i,mi,timp,bani,x2,m2;
int main() {
    f>>c>>t>>m>>x;
    mi=x/m;
    if(x%m) {
        mi++;
    }
    m2=m;
    for(i=2; i<=x; i++) {
        if(bani<c) {
            x2=c-bani;
            if(x%m==0)
            {
                timp+=x2/m;
                bani=0;
            }
            else
            {
                timp+=x2/m+1;
                bani=(x2/m+1)*m-x2;
            }
            timp+=t;
            bani+=t*m;
            m+=m2;
            if(bani>x) {
                break;
            }
            if((x-bani)%m==0) {
                mi=min(mi,timp+(x-bani)/m);
            } else {
                mi=min(mi,timp+(x-bani)/m+1);
            }
        } else {
            bani-=c;
            timp+=t;
            bani+=m*t;
            m+=m2;
            if(bani>x) {
                break;
            }
            if((x-bani)%m==0) {
                mi=min(mi,timp+(x-bani)/m);
            } else {
                mi=min(mi,timp+(x-bani)/m+1);
            }
        }
    }
    g<<mi<<'\n';
    return 0;
}