Cod sursa(job #117006)

Utilizator silviugSilviu-Ionut Ganceanu silviug Data 20 decembrie 2007 09:57:31
Problema Plus Scor Ascuns
Compilator cpp Status done
Runda Marime 0.84 kb
#include <stdio.h>
int main (void) {
	FILE * fi = fopen("plus.in","rt");
	FILE * fo = fopen("plus.out","wt");

	long s,bile1,nr1,bile2,nr2,bile3,nr3;
	fscanf(fi,"%ld",&s);
	fscanf(fi,"%ld %ld",&bile1,&nr1);
	fscanf(fi,"%ld %ld",&bile2,&nr2);
	fscanf(fi,"%ld %ld",&bile3,&nr3);
//	printf("s=%ld, nr1=%ld, nr2=%ld, nr3=%ld\n",s,nr1,nr2,nr3);
			
	long long rasp=0;
	for (long i=0; i<=bile1; i++) {
		for (long j=0; j<=bile2; j++) {
			//TODO: daca gasesc solutia inteligenta
			//sa nu uit sa verific casting-ul de la long
			//la longlong
			long k=s-(i*nr1+j*nr2);
			if (k%nr3==0) {
				long kr=k/nr3;
	//			printf("pentru i=%ld si j=%ld rezulta kr=%ld\n",i,j,kr);
				if ((kr>=0) && (kr<=bile3)) rasp++;
			} else {
//				printf("pentru i=%ld si j=%ld rezulta kr=??\n",i,j);
			};
		};
	};
	fprintf(fo,"%lld\n",rasp);
	
	fclose(fi); fclose(fo);
	return 0;
};