Cod sursa(job #919466)

Utilizator apopeid13Apopeid Alejandro apopeid13 Data 19 martie 2013 17:51:44
Problema Plus Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include<fstream>
using namespace std;
ifstream f("plus.in");
ofstream g("plus.out");
long long nr1,s,s1,s2,s3,nr2,nr3,sol,nr,i,max1,max2,min1,min2;
int main()
{
    f>>s>>nr1>>s1>>nr2>>s2>>nr3>>s3;
    max1=max((long long)0,nr2*s2);
    max2=max((long long)0,nr3*s3);
    min1=min((long long)0,nr2*s2);
    min2=min((long long)0,nr3*s3);
    for(i=0;i<=nr1;++i)
    {
 
        if(s2==0)
        {
            if(s3==0&&s==0)
            sol+=(nr2+1)*(nr3+1);
            else
            if(s3!=0)
            {
                nr=s/s3;
                if(nr>=0&&nr<=nr3)
                sol+=nr2+1;
            }
        }
        else
        {
            if(s3==0)
            {
                nr=s/s2;
                if(nr>=0&&nr<=nr2)
                sol+=nr3+1;
            }
            else
            {
                if(min(s-min1,max2)-max(s-max1,min2)+1>=0)
                sol+=min(s-min1,max2)-max(s-max1,min2)+1;
            }
        }
        s-=s1;
    }
    g<<sol<<'\n';
    return 0;
}