Cod sursa(job #117214)

Utilizator DastasIonescu Vlad Dastas Data 20 decembrie 2007 22:41:06
Problema Plus Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <cstdio>

FILE *in = fopen("plus.in","r"), *out = fopen("plus.out","w");

int s;
int a, b,
    c, d,
    e, f;

long long sol;

int main()
{
    fscanf(in, "%d\n%d %d\n%d %d\n%d %d\n", &s, &a,&b,&c,&d,&e,&f);

    for ( int i = 0; i <= a; ++i )
        for ( int j = 0; j <= c; ++j )
        {
            int st = 0, dr = e+1;
            int m = 0;
            int t = i*b + j*d;

            while ( st < dr )
            {
                m = (st + dr) / 2;

                if ( t + m*f == s )
                {
                    ++sol;
                    break;
                }
                else if ( t + m*f < s )
                    st = m+1;
                else
                    dr = m;
            }
        }

    fprintf(out, "%lld\n", sol);

	return 0;
}