Cod sursă (job #108331)

Utilizator avatar Claudiu Dan Claudiu Claudiu IP ascuns
Problemă SCV (clasele 9-10) Compilator cpp | 0.88 kb
Rundă Tema 12 clasele 9-10 2014/15 Status evaluat
Dată 20 ian. 2015 23:02:31 Scor 0
#include<stdio.h>
using namespace std;
int rezolvare(int c, int t, int m, int x)
{
	int s = 0, i = 0, nr = 1, z;
	while (s < x)
	{
		if (s >= c)
		{
			if ((x-s) % (nr * m) == 0)
				if ((x-s) / (nr * m) > t)
				{
					s = s - c;
					s += nr * m * t;
					i += t;
					nr++;
				}
			else
				if ((x-s) / (nr * m) + 1 > t)
				{
					s = s - c;
					s += nr * m * t;
					i += t;
					nr++;
				}
				
		}
		if ((c - s) % (nr * m) == 0)
		{
			z = (c-s) / (nr*m);
			i+= z;
			s += nr * m * z;
		}
		else
		{
			z = (c-s) / (nr*m) + 1;
			i += z;
			s += nr * m *  z;
			
		}
		if (s > x)
		{
			i = (s - x) / (nr * m);
		}
	}
	return i;
}
int main ()
{
	FILE *in, *out;
	in = fopen ("scv.in", "r");
	out = fopen ("scv.out", "w");
	int c, t, m, x;
	fscanf(in, "%d%d%d%d", &c, &t, &m, &x);
	fprintf(out, "%d", rezolvare(c,t,m,x));
	return 0;
}