Cod sursă (job #108344)

Utilizator avatar vladp Vlad Panait vladp IP ascuns
Problemă SCV (clasele 9-10) Compilator cpp | 1.39 kb
Rundă Tema 12 clasele 9-10 2014/15 Status evaluat
Dată 20 ian. 2015 23:29:54 Scor 30
#include <stdio.h>

using namespace std;

int sumCur,nrNave,costNava,timpNava,minZi,timpTrecut;
int timp1,timp2;

int main()
{
    FILE *fin,*fout;

    fin=fopen("scv.in","r");
    fout=fopen("scv.out","w");

    int c,t,m,x,taux,op;

    fscanf(fin,"%d%d%d%d",&c,&t,&m,&x);

    nrNave=1;
    minZi=m;
    costNava=c;
    timpNava=t;
    timpTrecut=0;

    while(sumCur<=x)
    {
        op=0;
        if(sumCur>=costNava)
        {
            timp2=(x-sumCur)/(nrNave*minZi);
            if((x-sumCur)%(nrNave*minZi) != 0)
                timp2++;
            timp1=(x-sumCur-(nrNave*minZi)+costNava)/((nrNave+1)*minZi);
            if((x-sumCur-(nrNave*minZi)+costNava)%((nrNave+1)*minZi) != 0)
                timp1++;
            if(timp1<timp2)
            {
                sumCur+=timpNava*minZi*nrNave-costNava;
                timpTrecut+=timpNava;
                nrNave++;
                op=1;
            }
        }
        if(op==0)
        {
            sumCur+=nrNave*minZi;
            timpTrecut++;
        }
//        if(costNava-sumCur>0)
//        {
//            taux=(costNava-sumCur)/(nrNave*minZi);
//            if(taux*(nrNave*minZi) < (costNava-sumCur))
//                taux++;
//            timpTrecut+=taux;
//            sumCur+=taux*(nrNave*minZi);
//        }
    }

    fprintf(fout,"%d",timpTrecut-1);
    return 0;
}