Cod sursa(job #483487)

Utilizator andrei.dAndrei Diaconeasa andrei.d Data 8 septembrie 2010 22:08:25
Problema Plus Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <cstdio>

#define file_in "plus.in"
#define file_out "plus.out"

#define ll long long

int S;
int NrB1,Nr1;
int NrB2,Nr2;
int NrB3,Nr3;

void adfile(void){
	
	freopen(file_in,"r",stdin);
	freopen(file_out,"w",stdout);
	
	scanf("%d", &S);
	scanf("%d %d", &NrB1, &Nr1);
	scanf("%d %d", &NrB2, &Nr2);
	scanf("%d %d", &NrB3, &Nr3);
}

void solve(void){
	
	//romanu` n-are noroc
	//da` se pricepe la tot
	ll ans=0;
	int i,j,k,q;
	/*for (i=0;i<=NrB1;++i)
         for (j=0;j<=NrB2;++j) 
               for (k=0;k<=NrB3;++k)
                     if (i*Nr1+j*Nr2+k*Nr3==S)
                         ans++;*/
	for (i=0;i<=NrB1;++i)
		 for (j=0;j<=NrB2;++j)
		 {
			 q=i*Nr1+j*Nr2;
			 //baga cazurile
			 if (Nr3==-1 && q>=S && q+Nr3*NrB3<=S) ans++;
			 if (Nr3==1 && q<=S && q+Nr3*NrB3>=S) ans++;
			 if (Nr3==0 && (q==0 || S==0)) ans+=(NrB3+1); 
		 }
	
	printf("%lld\n", ans);
}	
  	
	
int main(){

	adfile();
	solve();
	
	return 0;
	
}