Cod sursa(job #125997)

Utilizator perticas_catalinperticas catalin perticas_catalin Data 20 ianuarie 2008 22:50:23
Problema Plus Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
//plus
#include<stdio.h>
FILE*fin=fopen("plus.in","r");
FILE*fout=fopen("plus.out","w");
int main()
{
int s,sp,n1,n2,n3,nb1,nb2,nb3,a,b,x,y,ss,sd,i;
long long sol,sf=0;
fscanf(fin,"%d" "%d" "%d" "%d" "%d" "%d" "%d",&s,&nb1,&n1,&nb2,&n2,&nb3,&n3);
for(i=0;i<=nb1;i++)
{
  sol=0;
  sp=s-i*n1;
  if(n2>=0){a=0;b=n2*nb2;}
  else{a=n2*nb2;b=0;}
  if(n2==0) sol+=(1+nb2);

  if(n3>=0){x=sp-n3*nb3;y=sp;}
  else{x=sp;y=sp-n3*nb3;}
  if(n3==0) sol+=(1+nb3);

  if(sol==0) sol++;
  if(a>x) ss=a;
  else ss=x;
  if(b<y) sd=b;
  else sd=y;
  if(ss<=sd) sol=sol*(sd-ss+1);
  else sol=0;
  sf+=sol;
  }
fprintf(fout,"%lld",sf);
fclose(fin);
fclose(fout);
return 0;
}