Pagini recente » Cod sursa (job #1933980) | Cod sursa (job #209721) | Cod sursa (job #2673325) | Cod sursa (job #2250040) | Cod sursa (job #173268)
Cod sursa(job #173268)
#include<cstdio>
long long a,b,c,na,nb,nc,i,nr,s,number;
long long m(long long a,long long b)
{
if(a<b) return a;
return b;
}
int main()
{
freopen("plus.in","r",stdin);
freopen("plus.out","w",stdout);
scanf("%lld",&s);
scanf("%lld %lld",&na,&a);
scanf("%lld %lld",&nb,&b);
scanf("%lld %lld",&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;
}