Cod sursa(job #123400)

Utilizator alex_mircescuAlex Mircescu alex_mircescu Data 15 ianuarie 2008 19:02:56
Problema Plus Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <stdio.h>
#include <math.h>

long i, s, j, sum, t, x[4], y[4];

int main() {
	freopen("plus.in", "r", stdin);
	freopen("plus.out", "w", stdout);
	scanf("%ld", &s);
	for (i = 1; i <= 3; ++i) {
		scanf("%ld%ld", &x[i], &y[i]);
	}


	for (i = 0; i <= x[1]; ++i) {
		for (j = 0; j <= x[2]; ++j) {
			sum = y[1] * i + y[2] * j;
			if (y[3] == 0) {
				if (sum == s) {
					t += x[3] + 1;
				}
			} else {
				//0 <= ceva <= x[3]
				//sum + ceva * y[3] = s => ceva = (s - sum) / y[3];
				long ceva = (s - sum) * y[3];
				t += (long) (0 <= ceva && ceva <= x[3]);
			}
		}
	}

	printf("%ld", t);
	return 0;
}