Cod sursa(job #1381042)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 8 martie 2015 11:24:39
Problema Plus Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<fstream>
#define ll long long
using namespace std;
ifstream f("plus.in"); ofstream g("plus.out");
ll a,b,c,na,nb,nc,i,q,s,nr,lc,lb,rc,rb;
ll max(ll a, ll b) {return (a<b?b:a);}
ll min(ll a, ll b) {return (a<b?a:b);}
int main()
{   f>>s>>na>>a>>nb>>b>>nc>>c;
    s+=a;
    rb=max(0,b*nb); rc=max(0,c*nc);
    lb=min(0,b*nb); lc=min(0,c*nc);
    for(i=0;i<=na;i++)
    {   s-=a;
        if(b==0)
            if(c==0) nr+=(s==0)*(nb+1)*(nc+1);
                else  {q=s/c; nr+=(q<=nc && q>=0)*(nb+1);}
        else if(c==0) {q=s/b; nr+=(q>=0 && q<=nb)*(nc+1);}
                else nr+=max(0,min(s-lb,rc)-max(s-rb,lc)+1);
    }
    g<<nr<<"\n"; g.close(); return 0;
}