Cod sursă (job #819766)

Utilizator avatar tteodora Tița Georgiana Teodora tteodora IP ascuns
Problemă SCV (clasele 9-10) Compilator cpp-32 | 1,63 kb
Rundă antrenament1 Status evaluat
Dată 9 apr. 2025 13:53:46 Scor 10
#include<fstream>

using namespace std;
ifstream cin("scv.in");
ofstream cout("scv.out");
long long e=0;
int a,b,c,d,f=1,g;
int main()
{
    cin>>a>>b>>c>>d;
    while(e<d)
    {
        if(e>=a and(d-e+f*c-1)/(f*c)>b+(d-(e-a)+(f+1)*c-1)/((f+1)*c))
        {
            e-=a;
            g+=b;
            f++;
        }
        else
        {
            long long h=d-e;
            long long i=(h+f*c-1)/(f*c);
            if(e>=a)
            {
                long long j=i;
                long long k=e+f*c*b-a;
                if(k<0)
                {
                    g+=i;
                    e=d;
                    break;
                }
                long long l=f+1;
                long long m=d-(e+f*c*b-a);
                if(m<=0)
                {
                    g+=b;
                    e=d;
                    break;
                }
                long long n=b+(m+l*c-1)/(l*c);
                if(n<j)
                {
                    g+=b;
                    e+=f*c*b-a;
                    f++;
                }
                else
                {
                    g+=i;
                    e=d;
                    break;
                }
            }
            else
            {
                long long o=a-e;
                long long p=(o+f*c-1)/(f*c);
                if(e+p*f*c>=d)
                {
                    p=(d-e+f*c-1)/(f*c);
                    g+=p;
                    e=d;
                    break;
                }
                g+=p;
                e+=p*f*c;
            }
        }
    }
    cout<<g;
}