Pentru această operație este nevoie să te autentifici.
Cod sursă (job #108359)
Utilizator |
|
IP | ascuns |
---|---|---|---|
Problemă | SCV (clasele 9-10) | Compilator | cpp | 1,40 kb |
Rundă | Tema 12 clasele 9-10 2014/15 | Status | evaluat |
Dată | 21 ian. 2015 01:12:28 | Scor | 85 |
#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=timpNava+(x-(sumCur-costNava+timpNava*nrNave*minZi))/((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);
return 0;
}