Pagini recente » Cod sursa (job #2245247) | Cod sursa (job #1817109) | Cod sursa (job #1131469) | Cod sursa (job #2035688) | Cod sursa (job #173267)
Cod sursa(job #173267)
#include<cstdio>
int a,b,c,na,nb,nc,i,nr,s;
long long number;
int m(int a,int b)
{
if(a<b) return a;
return b;
}
int main()
{
freopen("plus.in","r",stdin);
freopen("plus.out","w",stdout);
scanf("%d",&s);
scanf("%d %d",&na,&a);
scanf("%d %d",&nb,&b);
scanf("%d %d",&nc,&c);
for(i=0;i<=na;i++)
{
if(i)
s-=a;
if(b==0)
if(c==0)
number+= (s==0)*(nb+1)*(nc+1);
else
{
nr=s/c;
number += (nr*c==s && nr<=nc && nr>=0)*(nb+1);
}
else
if(c==0)
{
nr=s/b;
number += (nr*b==s && nr>=0 && nr<=nb)*(nc+1);
}
else
{
if(c==b)
{
if(s)
{
nr=s/b;
number +=(nr>=0 && nr<=nb+nc)*(m(nb+nc-nr,m(nb,nc))+1);
}
else
number++;
}
else
{
if(s)
{
nr=s/b;
if(nr>=0 && nr<=nb)
number += m(nb-nr,nc)+1;
else
{
nr=s/c;
if(nr>=0 && nr<=nc)
number += m(nc-nr,nb)+1;
}
}
else number++;
}
}
}
printf("%lld\n",number);
fclose(stdout);
return 0;
}