Pagini recente » Cod sursa (job #1772196) | Cod sursa (job #3226050) | Utilizatori inregistrati la Tiberiu Popoviciu 2011, Clasa a 9-a | Cod sursa (job #2774788) | Cod sursa (job #999512)
Cod sursa(job #999512)
#include <fstream>
using namespace std;
#define Long long long
#define M(a,b) ( a>b ? a : b )
#define m(a,b) ( a<b ? a : b )
Long S,A,B,C,a,b,c;
Long Big,Low,big,low;
Long Number,Nr;
ifstream F("plus.in");
ofstream G("plus.out");
int main()
{
F>>S;
F>>a>>A;
F>>b>>B;
F>>c>>C;
Big=M(0,b*B),big=M(0,c*C);
Low=m(0,b*B),low=m(0,c*C);
for (int i=0;i<=a;++i,S-=A)
if ( B==0 )
{
if ( C==0 )
Number += (S==0)*(b+1)*(c+1);
if ( C!=0 )
Nr=S/C, Number += (Nr<=c && Nr>=0)*(b+1);
}
else
{
if ( C==0 )
Nr=S/B, Number += (Nr>=0 && Nr<=b)*(c+1);
if ( C!=0 )
Number += M( 0, m(S-Low,big) - M(S-Big,low) +1 );
}
G<<Number<<'\n';
}