Pagini recente » Cod sursa (job #798) | Cod sursa (job #2452306) | Istoria paginii runda/onis-2014-runda-4 | Cod sursa (job #29425) | Cod sursa (job #2080291)
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
FILE *fin=fopen ("plus.in","r");
FILE *fout=fopen ("plus.out","w");
long long s,n1,n2,n3,nr1,nr2,nr3,sol,i,st,dr,zero=0,cs;
fscanf (fin,"%lld%lld%lld%lld%lld%lld%lld",&s,&n1,&nr1,&n2,&nr2,&n3,&nr3);
sol=0;
for (i=0;i<=n1;i++){
cs=s;
s=s-i*nr1;
if (nr2==0){
if (nr3==0){
if (s==0)
sol=sol+(n2+1)*(n3+1);
}
else if (s/nr3>=0 && s/nr3<=n3)
sol=sol+n2+1;
}
else if (nr3==0){
if (s/nr2>=0 && s/nr2<=n2)
sol=sol+n3+1;
}
else {
st=(s-n3*nr3)/nr2;
dr=s/nr2;
if (st>dr)
swap(st,dr);
// max dintre interval si 0
sol=sol+max ( min(dr,n2)-max(st,zero)+1 , zero);
}
s=cs;
}
fprintf (fout,"%lld",sol);
return 0;
}